@salutejs/plasma-new-hope 0.336.0-canary.2220.17654944807.0 → 0.336.0-canary.2220.17666849379.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.
@@ -259,7 +259,6 @@ var comboboxRoot = function comboboxRoot(Root) {
259
259
  // Если чекбокс в состоянии indeterminate
260
260
  case 'indeterminate':
261
261
  {
262
- // checkedCopy.set(item.value, true); ??
263
262
  updateDescendants.updateDescendants(item, checkedCopy, true, valueToItemMap);
264
263
  break;
265
264
  }
@@ -277,11 +276,6 @@ var comboboxRoot = function comboboxRoot(Root) {
277
276
  checkedCopy.set(item.value, true);
278
277
  break;
279
278
  }
280
- default:
281
- {
282
- console.log();
283
- break;
284
- }
285
279
  }
286
280
  var newValues = [];
287
281
  valueToItemMap.forEach(function (item, key) {
@@ -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} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n // checkedCopy.set(item.value, true); ??\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 console.log();\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 }\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 }\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n 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 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 _chips: getChips(),\n _onChipClick: 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 <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 ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","console","log","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","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","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","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} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n 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 }\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 }\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n 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 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 _chips: getChips(),\n _onChipClick: 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 <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 ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","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","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -214,7 +214,6 @@ var selectRoot = function selectRoot(Root) {
214
214
  // Если чекбокс в состоянии indeterminate
215
215
  case 'indeterminate':
216
216
  {
217
- // checkedCopy.set(item.value, true); ??
218
217
  updateDescendants.updateDescendants(item, checkedCopy, true, valueToItemMap);
219
218
  break;
220
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n // checkedCopy.set(item.value, true); ??\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 }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper 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 ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","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","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n 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 }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper 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 ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","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","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -396,7 +396,6 @@ var comboboxRoot = function(Root) {
396
396
  // Если чекбокс в состоянии indeterminate
397
397
  case 'indeterminate':
398
398
  {
399
- // checkedCopy.set(item.value, true); ??
400
399
  (0, _utils2.updateDescendants)(item, checkedCopy, true, valueToItemMap);
401
400
  break;
402
401
  }
@@ -416,7 +415,6 @@ var comboboxRoot = function(Root) {
416
415
  }
417
416
  default:
418
417
  {
419
- console.log();
420
418
  break;
421
419
  }
422
420
  }
@@ -348,7 +348,6 @@ var selectRoot = function(Root) {
348
348
  // Если чекбокс в состоянии indeterminate
349
349
  case 'indeterminate':
350
350
  {
351
- // checkedCopy.set(item.value, true); ??
352
351
  (0, _utils1.updateDescendants)(item, checkedCopy, true, valueToItemMap);
353
352
  break;
354
353
  }
@@ -1,16 +1 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Combobox", {
6
- enumerable: true,
7
- get: function() {
8
- return Combobox;
9
- }
10
- });
11
- var _engines = require("../../../engines");
12
- var _ = require("../../..");
13
- var _Comboboxconfig = require("./Combobox.config");
14
- var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
- var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
- var Combobox = ComboboxComponent;
@@ -339,7 +339,6 @@ import { Context } from "./Combobox.context";
339
339
  // Если чекбокс в состоянии indeterminate
340
340
  case 'indeterminate':
341
341
  {
342
- // checkedCopy.set(item.value, true); ??
343
342
  updateDescendants(item, checkedCopy, true, valueToItemMap);
344
343
  break;
345
344
  }
@@ -359,7 +358,6 @@ import { Context } from "./Combobox.context";
359
358
  }
360
359
  default:
361
360
  {
362
- console.log();
363
361
  break;
364
362
  }
365
363
  }
@@ -291,7 +291,6 @@ import { Context } from "./Select.context";
291
291
  // Если чекбокс в состоянии indeterminate
292
292
  case 'indeterminate':
293
293
  {
294
- // checkedCopy.set(item.value, true); ??
295
294
  updateDescendants(item, checkedCopy, true, valueToItemMap);
296
295
  break;
297
296
  }
@@ -251,7 +251,6 @@ var comboboxRoot = function comboboxRoot(Root) {
251
251
  // Если чекбокс в состоянии indeterminate
252
252
  case 'indeterminate':
253
253
  {
254
- // checkedCopy.set(item.value, true); ??
255
254
  updateDescendants(item, checkedCopy, true, valueToItemMap);
256
255
  break;
257
256
  }
@@ -269,11 +268,6 @@ var comboboxRoot = function comboboxRoot(Root) {
269
268
  checkedCopy.set(item.value, true);
270
269
  break;
271
270
  }
272
- default:
273
- {
274
- console.log();
275
- break;
276
- }
277
271
  }
278
272
  var newValues = [];
279
273
  valueToItemMap.forEach(function (item, key) {
@@ -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} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n // checkedCopy.set(item.value, true); ??\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 console.log();\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 }\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 }\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n 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 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 _chips: getChips(),\n _onChipClick: 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 <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 ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","console","log","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","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","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","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} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n mode = 'default',\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap] = useMemo(() => getTreeMaps(transformedItems), [items]);\n\n const [textValue, setTextValue] = useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue));\n\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n getTextValue(multiple, value, valueToItemMap, renderValue),\n filter,\n ),\n [transformedItems, textValue, filter],\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n const initialPath = alwaysOpened ? ['root'] : [];\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n\n // Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки, если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки, если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = (e: MouseEvent<HTMLElement>) => {\n handleListToggle(!isCurrentListOpen);\n\n // При клике на иконку закрытия фокус не должен становиться в инпут.\n e.stopPropagation();\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(value.filter((val) => valueToItemMap?.get(val)?.disabled));\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n 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 }\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 }\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useDidMountLayoutEffect(() => {\n setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n 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 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 _chips: getChips(),\n _onChipClick: 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 <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 ref={targetRef}\n virtual={virtual}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_props$mode","mode","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","_useState","useState","getTextValue","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleClickArrow","e","handleListToggle","stopPropagation","handleTextValueChange","target","handleChipClick","chip","val","_valueToItemMap$get","get","opened","handleCheckboxChange","checkedCopy","Map","updateDescendants","set","newValues","forEach","key","push","has","handleItemClick","isEmpty","isCurrentChecked","handleTargetClick","getChips","length","concat","every","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","toString","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","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","_chips","_onChipClick","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","index","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -206,7 +206,6 @@ var selectRoot = function selectRoot(Root) {
206
206
  // Если чекбокс в состоянии indeterminate
207
207
  case 'indeterminate':
208
208
  {
209
- // checkedCopy.set(item.value, true); ??
210
209
  updateDescendants(item, checkedCopy, true, valueToItemMap);
211
210
  break;
212
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n // checkedCopy.set(item.value, true); ??\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 }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper 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 ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","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","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n 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 }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper 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 ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","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","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.336.0-canary.2220.17654944807.0",
3
+ "version": "0.336.0-canary.2220.17666849379.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "22edbaeff658badaf82a92accfbcca9fcd0f9b89"
140
+ "gitHead": "23cd41154c022d75ce438426288a34d22aafe9ce"
141
141
  }
@@ -396,7 +396,6 @@ var comboboxRoot = function(Root) {
396
396
  // Если чекбокс в состоянии indeterminate
397
397
  case 'indeterminate':
398
398
  {
399
- // checkedCopy.set(item.value, true); ??
400
399
  (0, _utils2.updateDescendants)(item, checkedCopy, true, valueToItemMap);
401
400
  break;
402
401
  }
@@ -416,7 +415,6 @@ var comboboxRoot = function(Root) {
416
415
  }
417
416
  default:
418
417
  {
419
- console.log();
420
418
  break;
421
419
  }
422
420
  }
@@ -348,7 +348,6 @@ var selectRoot = function(Root) {
348
348
  // Если чекбокс в состоянии indeterminate
349
349
  case 'indeterminate':
350
350
  {
351
- // checkedCopy.set(item.value, true); ??
352
351
  (0, _utils1.updateDescendants)(item, checkedCopy, true, valueToItemMap);
353
352
  break;
354
353
  }
@@ -339,7 +339,6 @@ import { Context } from "./Combobox.context";
339
339
  // Если чекбокс в состоянии indeterminate
340
340
  case 'indeterminate':
341
341
  {
342
- // checkedCopy.set(item.value, true); ??
343
342
  updateDescendants(item, checkedCopy, true, valueToItemMap);
344
343
  break;
345
344
  }
@@ -359,7 +358,6 @@ import { Context } from "./Combobox.context";
359
358
  }
360
359
  default:
361
360
  {
362
- console.log();
363
361
  break;
364
362
  }
365
363
  }
@@ -291,7 +291,6 @@ import { Context } from "./Select.context";
291
291
  // Если чекбокс в состоянии indeterminate
292
292
  case 'indeterminate':
293
293
  {
294
- // checkedCopy.set(item.value, true); ??
295
294
  updateDescendants(item, checkedCopy, true, valueToItemMap);
296
295
  break;
297
296
  }
@@ -1,7 +0,0 @@
1
- import { component, mergeConfig } from "../../../engines";
2
- import { comboboxNewConfig } from "../../..";
3
- import { config } from "./Combobox.config";
4
- var mergedConfig = mergeConfig(comboboxNewConfig, config);
5
- var ComboboxComponent = component(mergedConfig);
6
- var Combobox = ComboboxComponent;
7
- export { Combobox };
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAIlG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6BxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;GAEG;AAEH,eAAO,MAAM,YAAY,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,2FAwjBtF,CAAC;AAEP,eAAO,MAAM,cAAc;;;mBA1jBQ,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;CA+kB3F,CAAC"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAIlG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6BxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;GAEG;AAEH,eAAO,MAAM,YAAY,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,2FAsjBtF,CAAC;AAEP,eAAO,MAAM,cAAc;;;mBAxjBQ,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;CA6kB3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;AAMvE;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,gGAsezF,CAAC;AAEP,eAAO,MAAM,YAAY;;;mBAxeQ,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;;;;;;;;;CAof9F,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;AAMvE;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,gGAqezF,CAAC;AAEP,eAAO,MAAM,YAAY;;;mBAveQ,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;;;;;;;;;CAmf9F,CAAC"}