@salutejs/plasma-new-hope 0.343.1-canary.2382.20331057385.0 → 0.343.1-canary.2382.20334320626.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/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/cjs/components/Select/Select.js +5 -1
- package/dist/css/cjs/components/Select/Select.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/Target.js +2 -0
- package/dist/css/cjs/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/es/components/Select/Select.js +5 -1
- package/dist/css/es/components/Select/Select.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/Target.js +2 -0
- package/dist/css/es/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/emotion/cjs/components/Select/Select.js +5 -1
- package/dist/emotion/cjs/components/Select/ui/Target/Target.js +2 -1
- package/dist/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/emotion/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/emotion/es/components/Select/Select.js +5 -1
- package/dist/emotion/es/components/Select/ui/Target/Target.js +2 -1
- package/dist/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/dist/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/styled-components/cjs/components/Select/Select.js +5 -1
- package/dist/styled-components/cjs/components/Select/ui/Target/Target.js +2 -1
- package/dist/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/dist/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/styled-components/es/components/Select/Select.js +5 -1
- package/dist/styled-components/es/components/Select/ui/Target/Target.js +2 -1
- package/dist/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/package.json +5 -5
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -0
- 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 +5 -0
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -0
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +24 -0
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +6 -0
- package/types/examples/components/Select/Select.d.ts.map +1 -1
|
@@ -39,7 +39,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
39
39
|
|
|
40
40
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
41
41
|
|
|
42
|
-
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "treeView", "arrowPlacement", "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", "filterValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
|
|
42
|
+
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "treeView", "arrowPlacement", "placement", "label", "placeholder", "helperText", "contentLeft", "contentRight", "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", "filterValue", "onScroll", "onToggle", "mode", "chipClickArea", "_offset"];
|
|
43
43
|
|
|
44
44
|
/**
|
|
45
45
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
|
@@ -64,6 +64,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
64
64
|
placeholder = props.placeholder,
|
|
65
65
|
helperText = props.helperText,
|
|
66
66
|
contentLeft = props.contentLeft,
|
|
67
|
+
contentRight = props.contentRight,
|
|
67
68
|
textBefore = props.textBefore,
|
|
68
69
|
textAfter = props.textAfter,
|
|
69
70
|
_props$variant = props.variant,
|
|
@@ -573,7 +574,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
|
573
574
|
label: label,
|
|
574
575
|
placeholder: placeholder,
|
|
575
576
|
contentLeft: contentLeft,
|
|
576
|
-
contentRight: /*#__PURE__*/React__default.default.createElement(Combobox_styles.IconArrowWrapper, {
|
|
577
|
+
contentRight: contentRight || contentRight === undefined ? contentRight : /*#__PURE__*/React__default.default.createElement(Combobox_styles.IconArrowWrapper, {
|
|
577
578
|
disabled: disabled,
|
|
578
579
|
readOnly: readOnly,
|
|
579
580
|
onClick: handleClickArrow,
|
|
@@ -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, MouseEvent } 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 getTextValue,\n defaultFilter,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } 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 */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items' | 'chipClickArea'>>) =>\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 treeView = false,\n arrowPlacement = 'left',\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 filterValue,\n onScroll,\n onToggle,\n mode = 'default',\n chipClickArea = 'full',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, valueToPathMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n // Состояние поля поиска в target\n const [textValue, setTextValueState] = useState(\n getTextValue(multiple, outerValue, valueToItemMap, renderValue),\n );\n\n // Внутреннее состояние выбранных элементов\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const rootRef = useRef<HTMLInputElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const treeId = safeUseId();\n\n const filterCb = filter || defaultFilter;\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, value],\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 const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\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 const setTextValue = (newTextValue: string) => {\n setTextValueState(newTextValue);\n\n if (onChangeValue) {\n onChangeValue(newTextValue);\n }\n };\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\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 = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!filterValue || filterValue(e.target.value)) {\n setTextValue(e.target.value);\n }\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(\n value.filter((val) => valueToItemMap?.get(val)?.disabled),\n null,\n );\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || { value: chip.value, label: chip.label },\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 dispatchTreePath({ type: 'reset' });\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiple && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\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 switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\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 dispatchTreePath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: 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 dispatchTreePath({ 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 // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: 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: 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 treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: filteredItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\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 // Эффект для исключительных случаев, когда нужно обновить значение textValue при изменении items,\n // но только если значение textValue совпадает с value в item.\n useLayoutEffect(() => {\n if (!multiple && value && valueToItemMap.get(value as string)?.value === textValue) {\n setTextValue(valueToItemMap.get(value as string)?.label || value.toString());\n }\n }, [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 // Эффект для раскрытия дерева при поиске.\n useLayoutEffect(() => {\n if (treeView) {\n // Если поле ввода стало пустым или если пользователь выбирает элемент,\n // то скрываем все узлы дерева и выходим из эффекта.\n if (textValue === '' || textValue === getTextValue(multiple, value, valueToItemMap, renderValue)) {\n dispatchTreePath({ type: 'reset' });\n return;\n }\n\n // Иначе раскрываем все узлы, когда пользователь начинает вводить текст в поле ввода.\n dispatchTreePath({ type: 'expand_by_key', value: { filteredItems, filterCb, textValue } });\n }\n }, [textValue]);\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 ref={rootRef}\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 treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\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\n disabled={disabled}\n readOnly={readOnly}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\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\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chipClickArea: chipClickArea,\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\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 {treeView ? (\n <TreeList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : onScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\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 portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n )}\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$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","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","filterValue","onScroll","onToggle","_props$mode","mode","_props$chipClickArea","chipClickArea","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","getTextValue","_useState2","textValue","setTextValueState","_useState3","_useState4","internalValue","setInternalValue","undefined","rootRef","useRef","inputRef","floatingPopoverRef","inputForkRef","useForkRef","listWrapperRef","treeId","safeUseId","filterCb","defaultFilter","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","_useReducer5","treePathReducer","_useReducer6","treePath","dispatchTreePath","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","setTextValue","newTextValue","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","stopPropagation","handleTextValueChange","target","type","handleChipClick","chip","val","_valueToItemMap$get","get","opened","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","_valueToItemMap$get5","_valueToItemMap$get6","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chipClickArea","_chips","_onChipCloseClick","_onEnterDisabled","isInner","TreeList","ListWrapper","Ul","id","selectAllOptions","SelectAll","StyledEmptyState","emptyStateWrapper","description","Fragment","VirtualList","index","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, MouseEvent } 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 getTextValue,\n defaultFilter,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } 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 */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items' | 'chipClickArea'>>) =>\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 treeView = false,\n arrowPlacement = 'left',\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n contentRight,\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 filterValue,\n onScroll,\n onToggle,\n mode = 'default',\n chipClickArea = 'full',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, valueToPathMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n // Состояние поля поиска в target\n const [textValue, setTextValueState] = useState(\n getTextValue(multiple, outerValue, valueToItemMap, renderValue),\n );\n\n // Внутреннее состояние выбранных элементов\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const rootRef = useRef<HTMLInputElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const treeId = safeUseId();\n\n const filterCb = filter || defaultFilter;\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, value],\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 const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\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 const setTextValue = (newTextValue: string) => {\n setTextValueState(newTextValue);\n\n if (onChangeValue) {\n onChangeValue(newTextValue);\n }\n };\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\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 = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!filterValue || filterValue(e.target.value)) {\n setTextValue(e.target.value);\n }\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(\n value.filter((val) => valueToItemMap?.get(val)?.disabled),\n null,\n );\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || { value: chip.value, label: chip.label },\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 dispatchTreePath({ type: 'reset' });\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiple && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\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 switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\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 dispatchTreePath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: 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 dispatchTreePath({ 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 // Обработчик клика на таргет\n const handleTargetClick = () => {\n if (!isCurrentListOpen) {\n handleListToggle(true);\n }\n };\n\n const getChips = (): { value: string; label: string; disabled: boolean }[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${targetAmount || value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: 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: 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 treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: filteredItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\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 // Эффект для исключительных случаев, когда нужно обновить значение textValue при изменении items,\n // но только если значение textValue совпадает с value в item.\n useLayoutEffect(() => {\n if (!multiple && value && valueToItemMap.get(value as string)?.value === textValue) {\n setTextValue(valueToItemMap.get(value as string)?.label || value.toString());\n }\n }, [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 // Эффект для раскрытия дерева при поиске.\n useLayoutEffect(() => {\n if (treeView) {\n // Если поле ввода стало пустым или если пользователь выбирает элемент,\n // то скрываем все узлы дерева и выходим из эффекта.\n if (textValue === '' || textValue === getTextValue(multiple, value, valueToItemMap, renderValue)) {\n dispatchTreePath({ type: 'reset' });\n return;\n }\n\n // Иначе раскрываем все узлы, когда пользователь начинает вводить текст в поле ввода.\n dispatchTreePath({ type: 'expand_by_key', value: { filteredItems, filterCb, textValue } });\n }\n }, [textValue]);\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 ref={rootRef}\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 treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <div onClick={handleTargetClick}>\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 contentRight || contentRight === undefined ? (\n contentRight\n ) : (\n <IconArrowWrapper\n disabled={disabled}\n readOnly={readOnly}\n onClick={handleClickArrow}\n className={classes.comboboxTargetArrow}\n >\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n )\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\n ? getItemId(treeId, activeDescendantItemValue)\n : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n _chipClickArea: chipClickArea,\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n </div>\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 {treeView ? (\n <TreeList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : onScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\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 portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n )}\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$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","placeholder","helperText","contentLeft","contentRight","textBefore","textAfter","_props$variant","variant","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","filterValue","onScroll","onToggle","_props$mode","mode","_props$chipClickArea","chipClickArea","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","getTextValue","_useState2","textValue","setTextValueState","_useState3","_useState4","internalValue","setInternalValue","undefined","rootRef","useRef","inputRef","floatingPopoverRef","inputForkRef","useForkRef","listWrapperRef","treeId","safeUseId","filterCb","defaultFilter","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","_useReducer5","treePathReducer","_useReducer6","treePath","dispatchTreePath","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","setTextValue","newTextValue","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","stopPropagation","handleTextValueChange","target","type","handleChipClick","chip","val","_valueToItemMap$get","get","opened","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","_valueToItemMap$get5","_valueToItemMap$get6","useDidMountLayoutEffect","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","onClick","StyledTextField","_extends","inputWrapperRef","IconArrowWrapper","className","comboboxTargetArrow","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","_chipClickArea","_chips","_onChipCloseClick","_onEnterDisabled","isInner","TreeList","ListWrapper","Ul","id","selectAllOptions","SelectAll","StyledEmptyState","emptyStateWrapper","description","Fragment","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
31
31
|
|
|
32
32
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
33
33
|
|
|
34
|
-
var _excluded = ["id", "value", "onChange", "target", "items", "treeView", "arrowPlacement", "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", "mode", "chipClickArea", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
|
34
|
+
var _excluded = ["id", "value", "onChange", "target", "items", "treeView", "arrowPlacement", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "contentRight", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "mode", "chipClickArea", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Выпадающий список. Поддерживает выбор одного или нескольких значений.
|
|
@@ -64,6 +64,7 @@ var selectRoot = function selectRoot(Root) {
|
|
|
64
64
|
listMaxHeight = props.listMaxHeight,
|
|
65
65
|
listWidth = props.listWidth,
|
|
66
66
|
contentLeft = props.contentLeft,
|
|
67
|
+
contentRight = props.contentRight,
|
|
67
68
|
onScrollBottom = props.onScrollBottom,
|
|
68
69
|
onScroll = props.onScroll,
|
|
69
70
|
chipView = props.chipView,
|
|
@@ -392,6 +393,8 @@ var selectRoot = function selectRoot(Root) {
|
|
|
392
393
|
chipView: chipView,
|
|
393
394
|
disabled: disabled,
|
|
394
395
|
readOnly: readOnly,
|
|
396
|
+
hintView: hintView,
|
|
397
|
+
hintSize: hintSize,
|
|
395
398
|
id: id,
|
|
396
399
|
ref: rootRef
|
|
397
400
|
}, rest), name && /*#__PURE__*/React__default.default.createElement(SelectNative.SelectNative, {
|
|
@@ -442,6 +445,7 @@ var selectRoot = function selectRoot(Root) {
|
|
|
442
445
|
labelPlacement: labelPlacement,
|
|
443
446
|
size: size,
|
|
444
447
|
contentLeft: contentLeft,
|
|
448
|
+
contentRight: contentRight,
|
|
445
449
|
disabled: disabled,
|
|
446
450
|
readOnly: readOnly,
|
|
447
451
|
renderValue: renderValue,
|
|
@@ -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, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } 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 treeView = false,\n arrowPlacement = 'left',\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 chipClickArea,\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, valueToPathMap] = 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 [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\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 listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\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 /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\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 dispatchTreePath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\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 switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\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 dispatchTreePath({ 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 dispatchTreePath({ 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<HTMLElement>) => {\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 treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: transformedItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\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 ref={rootRef}\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 treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\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 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 {treeView ? (\n <TreeList\n items={items}\n listMaxHeight={listMaxHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\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 portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n )}\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$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","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","multiselect","_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","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","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, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } 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 treeView = false,\n arrowPlacement = 'left',\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 contentRight,\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 chipClickArea,\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, valueToPathMap] = 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 [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\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 listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\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 /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\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 dispatchTreePath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\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 switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\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 dispatchTreePath({ 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 dispatchTreePath({ 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<HTMLElement>) => {\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 treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: transformedItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\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 hintView={hintView}\n hintSize={hintSize}\n id={id}\n ref={rootRef}\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 treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\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 contentRight={contentRight}\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 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 {treeView ? (\n <TreeList\n items={items}\n listMaxHeight={listMaxHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\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 portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n )}\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$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","contentRight","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_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","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,gBAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC7D,IAAA,IAEIC,EAAE,GA4EFH,KAAK,CA5ELG,EAAE,CAAA;MACKC,UAAU,GA2EjBJ,KAAK,CA3ELK,KAAK,CAAA;MACGC,aAAA,GA0ERN,KAAK,CAzELO,MAAM,CAAA;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA,CAAA;MACzBE,KAAK,GAwELR,KAAK,CAxELQ,KAAK,CAAA;MAAAC,eAAA,GAwELT,KAAK,CAvELU,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,qBAAA,GAuEhBX,KAAK,CAtELY,cAAc,CAAA;AAAdA,MAAAA,cAAc,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA,CAAA;MAAAE,gBAAA,GAsEvBb,KAAK,CArELc,SAAS,CAAA;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA,CAAA;MACpBE,KAAK,GAoELf,KAAK,CApELe,KAAK,CAAA;MACLC,cAAc,GAmEdhB,KAAK,CAnELgB,cAAc,CAAA;MACdC,WAAW,GAkEXjB,KAAK,CAlELiB,WAAW,CAAA;MACXC,UAAU,GAiEVlB,KAAK,CAjELkB,UAAU,CAAA;MAAAC,eAAA,GAiEVnB,KAAK,CAhELoB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,eAAA,GAgEhBrB,KAAK,CA/DLsB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MACVE,SAAS,GA8DfvB,KAAK,CA9DLwB,IAAI,CAAA;MACJC,IAAI,GA6DJzB,KAAK,CA7DLyB,IAAI,CAAA;MAEJC,UAAU,GA2DV1B,KAAK,CA3DL0B,UAAU,CAAA;MACVC,aAAa,GA0Db3B,KAAK,CA1DL2B,aAAa,CAAA;MACbC,SAAS,GAyDT5B,KAAK,CAzDL4B,SAAS,CAAA;MACTC,WAAW,GAwDX7B,KAAK,CAxDL6B,WAAW,CAAA;MACXC,YAAY,GAuDZ9B,KAAK,CAvDL8B,YAAY,CAAA;MACZC,cAAc,GAsDd/B,KAAK,CAtDL+B,cAAc,CAAA;MACdC,QAAQ,GAqDRhC,KAAK,CArDLgC,QAAQ,CAAA;MACRC,QAAQ,GAoDRjC,KAAK,CApDLiC,QAAQ,CAAA;MAAAC,cAAA,GAoDRlC,KAAK,CAnDLmC,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA,CAAA;MAClBE,MAAM,GAkDNpC,KAAK,CAlDLoC,MAAM,CAAA;MACNC,WAAW,GAiDXrC,KAAK,CAjDLqC,WAAW,CAAA;MACXC,UAAU,GAgDVtC,KAAK,CAhDLsC,UAAU,CAAA;MACVC,MAAM,GA+CNvC,KAAK,CA/CLuC,MAAM,CAAA;MACNC,YAAY,GA8CZxC,KAAK,CA9CLwC,YAAY,CAAA;MACZC,SAAS,GA6CTzC,KAAK,CA7CLyC,SAAS,CAAA;MACSC,qBAAqB,GA4CvC1C,KAAK,CA5CL2C,gBAAgB,CAAA;MAChBC,cAAc,GA2Cd5C,KAAK,CA3CL4C,cAAc,CAAA;MACdC,UAAU,GA0CV7C,KAAK,CA1CL6C,UAAU,CAAA;MACVC,SAAS,GAyCT9C,KAAK,CAzCL8C,SAAS,CAAA;MACTC,MAAM,GAwCN/C,KAAK,CAxCL+C,MAAM,CAAA;MACNC,IAAI,GAuCJhD,KAAK,CAvCLgD,IAAI,CAAA;MACJC,YAAY,GAsCZjD,KAAK,CAtCLiD,YAAY,CAAA;MAAAC,cAAA,GAsCZlD,KAAK,CArCLmD,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA,CAAA;MACfE,QAAQ,GAoCRpD,KAAK,CApCLoD,QAAQ,CAAA;MAERC,WAAW,GAkCXrD,KAAK,CAlCLqD,WAAW,CAAA;MAAAC,WAAA,GAkCXtD,KAAK,CAjCLuD,IAAI,CAAA;AAAJA,MAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,WAAA,CAAA;MAGhBE,OAAO,GA8BPxD,KAAK,CA9BLwD,OAAO,CAAA;MAIPC,QAAQ,GA0BRzD,KAAK,CA1BLyD,QAAQ,CAAA;MAERC,iBAAiB,GAwBjB1D,KAAK,CAxBL0D,iBAAiB,CAAA;MAEjBC,oBAAoB,GAsBpB3D,KAAK,CAtBL2D,oBAAoB,CAAA;MAEpBC,QAAQ,GAoBR5D,KAAK,CApBL4D,QAAQ,CAAA;MAERC,QAAQ,GAkBR7D,KAAK,CAlBL6D,QAAQ,CAAA;MAERC,WAAW,GAgBX9D,KAAK,CAhBL8D,WAAW,CAAA;MAEXC,QAAQ,GAcR/D,KAAK,CAdL+D,QAAQ,CAAA;MAERC,QAAQ,GAYRhE,KAAK,CAZLgE,QAAQ,CAAA;MAERC,mBAAmB,GAUnBjE,KAAK,CAVLiE,mBAAmB,CAAA;MAEnBC,aAAa,GAQblE,KAAK,CARLkE,aAAa,CAAA;MAEbC,SAAS,GAMTnE,KAAK,CANLmE,SAAS,CAAA;MAETC,YAAY,GAIZpE,KAAK,CAJLoE,YAAY,CAAA;MAGTC,IAAI,GAAAC,iDAAA,CACPtE,KAAK,EAAAuE,SAAA,EAAA;IACT,IAAMC,gBAAgB,GAAGC,aAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,2CAAqB,CAAClE,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;AACA,IAAA,IAAAmE,YAAA,GAAwFC,uBAAW,CAC/FJ,gBACJ,CAAC;MAAAK,aAAA,GAAAC,uCAAA,CAAAH,YAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,OAAO,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,iBAAiB,GAAAJ,aAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,cAAc,GAAAL,aAAA,CAAA,CAAA,CAAA;AAAEM,MAAAA,cAAc,GAAAN,aAAA,CAAA,CAAA,CAAA,CAAA;IAIpF,IAAAO,SAAA,GAA0CC,cAAQ,CAC9CrF,KAAK,CAACqD,WAAW,GAAG,EAAE,GAAG,EAC7B,CAAC;MAAAiC,UAAA,GAAAR,uCAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAMjF,KAAK,GAAGD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAKqF,SAAS,GAAGrF,UAAU,GAAGmF,aAAa,CAAA;AAE1F,IAAA,IAAMG,kBAAkB,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;;AAEvD;AACA,IAAA,IAAAC,WAAA,GAA6BC,gBAAU,CAACC,uBAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAjB,uCAAA,CAAAc,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;IACzB,IAAAG,YAAA,GAAqCL,gBAAU,CAACM,+BAAe,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtB,uCAAA,CAAAoB,YAAA,EAAA,CAAA,CAAA;AAA7DG,MAAAA,QAAQ,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACjC,IAAA,IAAAG,YAAA,GAA2CV,gBAAU,CAACW,qCAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAA3B,uCAAA,CAAAyB,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,GAA8BvB,cAAQ,CAACJ,iBAAiB,CAAC;MAAA4B,UAAA,GAAA/B,uCAAA,CAAA8B,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,CAACjB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAMkB,yBAAyB,GAAG,CAAAhH,CAAAA,iBAAA,GAAAiH,sCAAgB,CAACT,WAAW,EAAE1B,iBAAiB,CAAC,cAAA9E,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDG,KAAK,CAAC+G,QAAQ,EAAE,KAAI,EAAE,CAAA;IAC1G,IAAMzE,gBAAgB,GAAGD,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAAC1C,KAAK,CAACqD,WAAW,CAAA;AACpE,IAAA,IAAMgE,MAAM,GAAGC,eAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,cAAc,GAAG5B,YAAM,CAAiB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMnE,IAAI,GAAGjB,MAAM,KAAK,gBAAgB,KAAKa,QAAQ,IAAIE,QAAQ,CAAC,GAAG,SAAS,GAAGkG,eAAO,CAACjF,MAAM,EAAEhB,SAAS,CAAC,CAAA;AAC3G,IAAA,IAAMkG,OAAO,GAAG9B,YAAM,CAAmB,IAAI,CAAC,CAAA;;AAE9C;IACA,IAAM+B,aAAa,GACf1H,KAAK,CAACO,MAAM,KAAK,aAAa,GACxBkF,SAAS,GACR;AACGhC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,QAAQ,EAARA,QAAAA;KACe,CAAA;;AAE7B;IACA,IAAM+D,SAAS,GACX3H,KAAK,CAACO,MAAM,KAAK,aAAa,GACxBkF,SAAS,GACR;AACG5B,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,YAAY,EAAZA,YAAAA;KACW,CAAA;;AAEzB;AACAwD,IAAAA,+BAAe,CAAC,YAAM;MAClB,IAAI,CAACZ,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;MAEAa,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAC3B,KAAC,EAAE,CAACnC,kBAAkB,EAAE6B,cAAc,CAAC,CAAC,CAAA;IAExC,IAAMO,QAAQ,GAAG,SAAXA,QAAQA,CACVC,QAA2F,EAC3FC,IAA2C,EAC1C;MACD,IAAIhI,KAAK,CAAC8H,QAAQ,EAAE;AAChB;AACA,QAAA,IAAI,CAAC9H,KAAK,CAACgD,IAAI,KAAK,OAAO+E,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,CAAC,EAAE;UAC1E/H,KAAK,CAAC8H,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;;AAEA;AACA;AACA,QAAA,IAAIhI,KAAK,CAACgD,IAAI,IAAImF,gCAAA,CAAOJ,QAAQ,CAAA,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;UACxE/H,KAAK,CAAC8H,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;QACzDvC,gBAAgB,CAACuC,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMF,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIO,MAAe,EAAK;MAC1C,IAAIhH,QAAQ,IAAIE,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI8G,MAAM,EAAE;AACRnC,QAAAA,YAAY,CAAC;AAAEoC,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AAAA,QAAA,IAAAC,gBAAA,CAAA;AACH3B,QAAAA,mBAAmB,CAAC;AAAE0B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCpC,QAAAA,YAAY,CAAC;AAAEoC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/B/B,QAAAA,gBAAgB,CAAC;AAAE+B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;;AAEnC;AACA,QAAA,IAAME,EAAE,GAAGd,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,IAAA,CAAAa,gBAAA,GAAPb,OAAO,CAAEe,OAAO,MAAA,IAAA,IAAAF,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBG,aAAa,CAAC,2BAA2B,CAAC,CAAA;QACvE,IAAIpF,WAAW,IAAIhD,KAAK,CAACqI,MAAM,GAAG,CAAC,IAAIH,EAAE,EAAE;UACvCA,EAAE,CAACI,UAAU,GAAG,CAAC,CAAA;AACrB,SAAA;AACJ,OAAA;AAEA,MAAA,IAAIvF,QAAQ,EAAE;QACVA,QAAQ,CAACgF,MAAM,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED,IAAA,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIZ,IAAmC,EAAK;AAClE,MAAA,IAAI,CAAChI,KAAK,CAACqD,WAAW,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMwF,WAAW,GAAG,IAAIC,GAAG,CAAChC,OAAO,CAAC,CAAA;AAEpC,MAAA,QAAQ+B,WAAW,CAACE,GAAG,CAACf,IAAI,CAAC3H,KAAK,CAAC;AAC/B;AACA,QAAA,KAAK,eAAe;AAAE,UAAA;YAClB2I,mCAAiB,CAAChB,IAAI,EAAEa,WAAW,EAAE,IAAI,EAAE3D,cAAc,CAAC,CAAA;AAC1D,YAAA,MAAA;AACJ,WAAA;AACA;AACA,QAAA,KAAK,IAAI;AAAE,UAAA;YACP8D,mCAAiB,CAAChB,IAAI,EAAEa,WAAW,EAAE,KAAK,EAAE3D,cAAc,CAAC,CAAA;YAC3D2D,WAAW,CAACI,GAAG,CAACjB,IAAI,CAAC3H,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC,YAAA,MAAA;AACJ,WAAA;AACA;AACA,QAAA,KAAK,KAAK;AAAE,UAAA;YACR2I,mCAAiB,CAAChB,IAAI,EAAEa,WAAW,EAAE,IAAI,EAAE3D,cAAc,CAAC,CAAA;YAC1D2D,WAAW,CAACI,GAAG,CAACjB,IAAI,CAAC3H,KAAK,EAAE,IAAI,CAAC,CAAA;AACjC,YAAA,MAAA;AACJ,WAAA;AAIJ,OAAA;MAEA,IAAM6I,SAAiC,GAAG,EAAE,CAAA;AAE5ChE,MAAAA,cAAc,CAACiE,OAAO,CAAC,UAACnB,IAAI,EAAEoB,GAAG,EAAK;AAClC,QAAA,IAAIP,WAAW,CAACE,GAAG,CAACK,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAACrB,IAAI,CAAC3H,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;;AAEF;AACA,MAAA,IAAI4H,KAAK,CAACC,OAAO,CAAC7H,KAAK,CAAC,EAAE;AACtBA,QAAAA,KAAK,CAAC8I,OAAO,CAAC,UAACG,GAAW,EAAK;AAC3B,UAAA,IAAI,CAACpE,cAAc,CAACqE,GAAG,CAACD,GAAG,CAAC,EAAE;AAC1BJ,YAAAA,SAAS,CAACG,IAAI,CAACC,GAAG,CAAC,CAAA;AACvB,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;AAEA,MAAA,IAAI3G,gBAAgB,EAAE;AAClBsD,QAAAA,YAAY,CAAC;AAAEoC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/B1B,QAAAA,mBAAmB,CAAC;AAAE0B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtC/B,QAAAA,gBAAgB,CAAC;AAAE+B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACvC,OAAA;AAEA,MAAA,IAAIP,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAACoB,SAAS,EAAElB,IAAI,CAAC,CAAA;AAC7B,OAAA;KACH,CAAA;IAED,IAAMwB,eAAe,GAAG,SAAlBA,eAAeA,CAAIxB,IAAmC,EAAEyB,CAAiC,EAAK;MAChG,IAAI,CAACC,eAAO,CAAC1B,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAExH,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIR,KAAK,CAACqD,WAAW,EAAE;QACnBuF,oBAAoB,CAACZ,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIyB,CAAC,EAAE;QACHA,CAAC,CAACE,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAG9C,OAAO,CAACiC,GAAG,CAACf,IAAI,CAAC3H,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAIsC,gBAAgB,EAAE;AAClBsD,QAAAA,YAAY,CAAC;AAAEoC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/B1B,QAAAA,mBAAmB,CAAC;AAAE0B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtC/B,QAAAA,gBAAgB,CAAC;AAAE+B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACvC,OAAA;;AAEA;AACA,MAAA,IAAI9E,IAAI,KAAK,OAAO,IAAIqG,gBAAgB,EAAE;AACtC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI9B,QAAQ,EAAE;QACVA,QAAQ,CAAC8B,gBAAgB,GAAG,EAAE,GAAG5B,IAAI,CAAC3H,KAAK,EAAE2H,IAAI,CAAC,CAAA;AACtD,OAAA;AAEA,MAAA,IAAIxF,YAAY,EAAE;AACdA,QAAAA,YAAY,CAACwF,IAAI,EAAEyB,CAAE,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAI7B,IAAmC,EAAEyB,CAAiC,EAAK;AAChG,MAAA,IAAIC,eAAO,CAAC1B,IAAI,CAACxH,KAAK,CAAC,EAAE;AACrBgJ,QAAAA,eAAe,CAACxB,IAAI,EAAEyB,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAIzJ,KAAK,CAACqD,WAAW,EAAE;QAC1BuF,oBAAoB,CAACZ,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAM8B,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAA6B,EAAK;AACpD,MAAA,IAAIzH,QAAQ,EAAE;QACVA,QAAQ,CAACyH,CAAC,CAAC,CAAA;AACf,OAAA;MAEA,IAAI,CAAC1H,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQxB,MAAM,GAAKkJ,CAAC,CAAZlJ,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiBwJ,YAAY,GAAIxJ,MAAM,CAAiByJ,SAAS,KACvEzJ,MAAM,CAAiB0J,YAAY,EACtC;QACElI,cAAc,CAAC0H,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAAS,iBAAA,GAAsBC,sCAAgB,CAAC;AACnCzD,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBX,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZlB,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB6C,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBgC,QAAAA,eAAe,EAAfA,eAAe;AACfxD,QAAAA,QAAQ,EAARA,QAAQ;AACRC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB5F,QAAAA,QAAQ,EAARA,QAAQ;AACRyE,QAAAA,cAAc,EAAdA,cAAc;AACd3E,QAAAA,KAAK,EAAEgE,gBAAAA;AACX,OAAC,CAAC;MAdM4F,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAgBjB;AACA;AACAC,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAMxB,WAAW,GAAG,IAAIC,GAAG,CAAC7D,iBAAiB,CAAC,CAAA;AAE9C4D,MAAAA,WAAW,CAACM,OAAO,CAAC,UAACmB,CAAC,EAAElB,GAAG,EAAK;AAC5BP,QAAAA,WAAW,CAACI,GAAG,CAACG,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACM,eAAO,CAACrJ,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC9C,QAAA,IAAI4H,KAAK,CAACC,OAAO,CAAC7H,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAAC8I,OAAO,CAAC,UAACG,GAAG,EAAK;AACnB;AACA,YAAA,IAAIpE,cAAc,CAACqE,GAAG,CAACD,GAAG,CAAC,EAAE;AACzBT,cAAAA,WAAW,CAACI,GAAG,CAACK,GAAG,EAAE,IAAI,CAAC,CAAA;cAC1BN,mCAAiB,CAAC9D,cAAc,CAAC6D,GAAG,CAACO,GAAG,CAAC,EAAGT,WAAW,EAAE,IAAI,CAAC,CAAA;cAC9D0B,+BAAe,CAACrF,cAAc,CAAC6D,GAAG,CAACO,GAAG,CAAC,EAAGT,WAAW,CAAC,CAAA;AAC1D,aAAA;AACJ,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACH;AACA;AACA,UAAA,IAAI3D,cAAc,CAACqE,GAAG,CAAClJ,KAAK,CAAC,EAAE;AAC3BwI,YAAAA,WAAW,CAACI,GAAG,CAAC5I,KAAK,EAAE,MAAM,CAAC,CAAA;YAC9BmK,2CAAqB,CAACtF,cAAc,CAAC6D,GAAG,CAAC1I,KAAK,CAAC,EAAGwI,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,WAAA;AACJ,SAAA;AACJ,OAAA;MAEA9B,UAAU,CAAC8B,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAACzI,UAAU,EAAEmF,aAAa,EAAE/E,KAAK,CAAC,CAAC,CAAA;AAEtC6J,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAIpH,YAAY,EAAE;QACduC,gBAAgB,CAACvC,YAAiC,CAAC,CAAA;AACvD,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACIwH,sBAAA,CAAAC,aAAA,CAAC5K,IAAI,EAAA6K,iCAAA,CAAA;AACDnJ,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BiB,MAAAA,QAAQ,EAAEA,QAAS;AACnBb,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnByC,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAS;AACnB7D,MAAAA,EAAE,EAAEA,EAAG;AACPF,MAAAA,GAAG,EAAEwH,OAAAA;KACApD,EAAAA,IAAI,GAERrB,IAAI,iBACDyH,sBAAA,CAAAC,aAAA,CAACE,yBAAY,EAAA;AACTpK,MAAAA,KAAK,EAAE0E,cAAe;AACtBlC,MAAAA,IAAI,EAAEA,IAAK;AACX3C,MAAAA,KAAK,EAAEkF,aAAc;MACrBlC,WAAW,EAAErD,KAAK,CAACqD,WAAY;AAC/ByE,MAAAA,QAAQ,EAAEA,QAAS;AACnB+C,MAAAA,UAAU,EAAErF,gBAAiB;AAC7BvF,MAAAA,GAAG,EAAEA,GAAAA;KACR,CACJ,eACDwK,sBAAA,CAAAC,aAAA,CAACI,sBAAO,CAACC,QAAQ,EAAA;AACb1K,MAAAA,KAAK,EAAE;AACHqG,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;QACPzD,WAAW,EAAErD,KAAK,CAACqD,WAAW;AAC9B5B,QAAAA,IAAI,EAAJA,IAAI;AACJmH,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBY,QAAAA,eAAe,EAAfA,eAAe;AACfrH,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACV+E,QAAAA,MAAM,EAANA,MAAM;AACN;AACA;AACA;QACA2D,mBAAmB,EAAG3G,IAAI,CAAS2G,mBAAmB;AACtD3E,QAAAA,QAAQ,EAARA,QAAQ;AACRC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB1F,QAAAA,cAAc,EAAdA,cAAc;AACduE,QAAAA,cAAc,EAAdA,cAAAA;AACJ,OAAA;AAAE,KAAA,eAEFsF,sBAAA,CAAAC,aAAA,CAACO,+BAAe,EAAA;AACZhL,MAAAA,GAAG,EAAEyF,kBAAmB;AACxB0C,MAAAA,MAAM,EAAEpB,iBAAkB;AAC1B5D,MAAAA,QAAQ,EAAEyE,gBAAiB;AAC3B/G,MAAAA,SAAS,EAAEA,SAAU;AACrBsB,MAAAA,MAAM,EAAEA,MAAO;AACfR,MAAAA,SAAS,EAAEA,SAAU;AACrBsJ,MAAAA,MAAM,EAAE1H,OAAQ;MAChBjD,MAAM,EAAE,SAAAA,MAAAA,CAAC4K,YAAY,EAAA;AAAA,QAAA,oBACjBV,sBAAA,CAAAC,aAAA,CAACU,aAAM,EAAA;AACHnL,UAAAA,GAAG,EAAE+C,IAAI,GAAG,IAAI,GAAG/C,GAAI;AACvBI,UAAAA,KAAK,EAAEA,KAAM;AACb+H,UAAAA,MAAM,EAAEpB,iBAAkB;AAC1B9B,UAAAA,cAAc,EAAEA,cAAe;AAC/BnE,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzBmJ,UAAAA,SAAS,EAAEA,SAAU;AACrBpJ,UAAAA,cAAc,EAAEA,cAAe;AAC/BS,UAAAA,IAAI,EAAEA,IAAK;AACXI,UAAAA,WAAW,EAAEA,WAAY;AACzBC,UAAAA,YAAY,EAAEA,YAAa;AAC3BV,UAAAA,QAAQ,EAAEA,QAAS;AACnBE,UAAAA,QAAQ,EAAEA,QAAS;AACnBe,UAAAA,WAAW,EAAEA,WAAY;AACzBgJ,UAAAA,WAAW,EAAErL,KAAM;AACnBsL,UAAAA,eAAe,EAAEH,YAAuD;UACxE9H,WAAW,EAAErD,KAAK,CAACqD,WAAY;AAC/B7B,UAAAA,IAAI,EAAEA,IAAK;AACXN,UAAAA,UAAU,EAAEA,UAAW;AACvBmG,UAAAA,MAAM,EAAEA,MAAO;AACfH,UAAAA,yBAAyB,EAAEA,yBAA0B;AACrDtE,UAAAA,cAAc,EAAEA,cAAe;AAC/BkF,UAAAA,QAAQ,EAAEA,QAAS;AACnB7F,UAAAA,QAAQ,EAAEA,QAAS;AACnBQ,UAAAA,SAAS,EAAEA,SAAU;AACrBiF,UAAAA,aAAa,EAAEA,aAAc;AAC7BC,UAAAA,SAAS,EAAEA,SAAAA;AAAU,SACxB,CAAC,CAAA;OACJ;AACF5E,MAAAA,MAAM,EAAEA,MAAO;AACfwI,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAA,eAEfd,sBAAA,CAAAC,aAAA,CAAC5K,IAAI,EAAA6K,iCAAA,CAAA;AACDnJ,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BiB,MAAAA,QAAQ,EAAEA,QAAS;AACnBb,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAAA;KACL+C,EAAAA,IAAI,GAER3D,QAAQ,gBACL+J,sBAAA,CAAAC,aAAA,CAACc,iBAAQ,EAAA;AACLhL,MAAAA,KAAK,EAAEA,KAAM;AACbmB,MAAAA,aAAa,EAAEA,aAAc;AAC7BK,MAAAA,QAAQ,EAAEmB,OAAO,GAAGsC,SAAS,GAAGqE,YAAa;AAC7C3G,MAAAA,OAAO,EAAEA,OAAQ;AACjBN,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CAAC,gBAEF2H,sBAAA,CAAAC,aAAA,CAACe,yBAAW,EAAA;AAACxL,MAAAA,GAAG,EAAEsH,cAAe;AAAC3F,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eACnD6I,sBAAA,CAAAC,aAAA,CAACgB,gBAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXxL,MAAAA,EAAE,EAAAyL,EAAAA,CAAAA,MAAA,CAAKvE,MAAM,EAAgB,eAAA,CAAA;AAC7B,MAAA,sBAAA,EAAsBJ,OAAO,CAACjH,KAAK,CAACqD,WAAW,CAAE;MACjD1B,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CM,MAAAA,QAAQ,EAAEmB,OAAO,GAAGsC,SAAS,GAAGqE,YAAa;AAC7C3G,MAAAA,OAAO,EAAEA,OAAAA;KAERN,EAAAA,UAAU,EAEV7C,KAAK,CAACqD,WAAW,IAAIrD,KAAK,CAAC6L,gBAAgB;AAAA;AACxC;IACApB,sBAAA,CAAAC,aAAA,CAACoB,mBAAS,EAAA;MAACD,gBAAgB,EAAE7L,KAAK,CAAC6L,gBAAiB;AAAC1J,MAAAA,OAAO,EAAEA,OAAAA;KAAU,CAC3E,EAEAgB,OAAO,gBACJsH,sBAAA,CAAAC,aAAA,CAACqB,uBAAW,EAAA;AACRvL,MAAAA,KAAK,EAAEgE,gBAAiB;MACxB7C,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CM,MAAAA,QAAQ,EAAEA,QAAAA;KACb,CAAC,GAEFwC,gBAAgB,CAACwH,GAAG,CAAC,UAAChE,IAAI,EAAEiE,KAAK,EAAA;AAAA,MAAA,oBAC7BxB,sBAAA,CAAAC,aAAA,CAACwB,WAAK,EAAA;AACF9C,QAAAA,GAAG,EAAAwC,EAAAA,CAAAA,MAAA,CAAKK,KAAK,EAAK,IAAA,CAAA;AAClBjE,QAAAA,IAAI,EAAEA,IAAK;AACXmE,QAAAA,YAAY,EAAE,CAAE;AAChBnG,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BgG,QAAAA,KAAK,EAAEA,KAAM;AACbrK,QAAAA,SAAS,EAAEA,SAAU;AACrBQ,QAAAA,MAAM,EAAEmF,cAAAA;AAAe,OAC1B,CAAC,CAAA;KACL,CACJ,EACAzE,SACD,CACK,CAEf,CACO,CACH,CAChB,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMsJ,YAAY,GAAG;AACxBpJ,EAAAA,IAAI,EAAE,QAAQ;AACdqJ,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEzM,UAAU;AAClB0M,EAAAA,IAAI,EAAJA,kBAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNjL,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTT,IAAAA,cAAc,EAAE,OAAO;AACvBiB,IAAAA,QAAQ,EAAE,SAAA;AACd,GAAA;AACJ;;;;;"}
|
|
@@ -21,6 +21,7 @@ var Target = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
21
21
|
labelPlacement = _ref.labelPlacement,
|
|
22
22
|
size = _ref.size,
|
|
23
23
|
contentLeft = _ref.contentLeft,
|
|
24
|
+
contentRight = _ref.contentRight,
|
|
24
25
|
disabled = _ref.disabled,
|
|
25
26
|
readOnly = _ref.readOnly,
|
|
26
27
|
renderValue = _ref.renderValue,
|
|
@@ -72,6 +73,7 @@ var Target = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
72
73
|
size: size,
|
|
73
74
|
view: view,
|
|
74
75
|
contentLeft: contentLeft,
|
|
76
|
+
contentRight: contentRight,
|
|
75
77
|
helperText: helperText,
|
|
76
78
|
treeId: treeId,
|
|
77
79
|
activeDescendantItemValue: activeDescendantItemValue,
|