@salutejs/plasma-new-hope 0.335.0-canary.2194.17367251959.0 → 0.335.0-canary.2197.17377664818.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.js +6 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +13 -43
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.js +3 -4
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -3
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +2 -3
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +13 -43
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -5
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/Popup/ClientOnlyPortal.js +2 -15
- package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/cjs/components/Popup/PopupContext.js +5 -26
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Select/Select.js +4 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +2 -3
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.js +11 -5
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Select/ui/VirtualList/VirtualList.js +13 -43
- package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +8 -1
- package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +16 -84
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +16 -84
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -5
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/emotion/cjs/components/Popup/ClientOnlyPortal.js +2 -14
- package/emotion/cjs/components/Popup/PopupContext.js +6 -25
- package/emotion/cjs/components/Select/Select.js +4 -2
- package/emotion/cjs/components/Select/Select.styles.js +7 -7
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +16 -84
- package/emotion/cjs/examples/components/Chip/Chip.config.js +13 -14
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/es/components/Autocomplete/Autocomplete.js +9 -2
- package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +13 -45
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +4 -2
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +13 -45
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -5
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/emotion/es/components/Popup/ClientOnlyPortal.js +2 -14
- package/emotion/es/components/Popup/PopupContext.js +6 -25
- package/emotion/es/components/Select/Select.js +4 -2
- package/emotion/es/components/Select/Select.styles.js +7 -7
- package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
- package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +13 -45
- package/emotion/es/examples/components/Chip/Chip.config.js +13 -14
- package/es/components/Autocomplete/Autocomplete.js +7 -2
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +13 -44
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.js +4 -5
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +4 -3
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js +2 -3
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +13 -44
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +2 -5
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/Popup/ClientOnlyPortal.js +2 -15
- package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/es/components/Popup/PopupContext.js +5 -26
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Select/Select.js +4 -3
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.styles.js +2 -3
- package/es/components/Select/Select.styles.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.js +12 -6
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Select/ui/VirtualList/VirtualList.js +13 -44
- package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/package.json +3 -2
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +8 -1
- package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +16 -84
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +16 -84
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -5
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +2 -14
- package/styled-components/cjs/components/Popup/PopupContext.js +6 -25
- package/styled-components/cjs/components/Select/Select.js +4 -2
- package/styled-components/cjs/components/Select/Select.styles.js +4 -4
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +16 -84
- package/styled-components/cjs/examples/components/Chip/Chip.config.js +0 -21
- package/styled-components/es/components/Autocomplete/Autocomplete.js +9 -2
- package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +13 -45
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +1 -6
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +4 -2
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +13 -45
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +1 -3
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -5
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +2 -4
- package/styled-components/es/components/Popup/ClientOnlyPortal.js +2 -14
- package/styled-components/es/components/Popup/PopupContext.js +6 -25
- package/styled-components/es/components/Select/Select.js +4 -2
- package/styled-components/es/components/Select/Select.styles.js +4 -4
- package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
- package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +13 -45
- package/styled-components/es/examples/components/Chip/Chip.config.js +0 -21
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/components/Autocomplete/Autocomplete.types.d.ts +17 -17
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +0 -5
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +0 -4
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Popup/ClientOnlyPortal.d.ts +0 -1
- package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
- package/types/components/Popup/PopupContext.d.ts +1 -5
- package/types/components/Popup/PopupContext.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.styles.d.ts +0 -1
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +14 -14
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Chip/Chip.config.d.ts +0 -1
- package/types/examples/components/Chip/Chip.config.d.ts.map +1 -1
- package/types/examples/components/Chip/Chip.d.ts +0 -1
- package/types/examples/components/Chip/Chip.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +48 -48
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +18 -18
- package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getRemovedElement,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(\n multiple || Array.isArray(outerValue)\n ? ''\n : valueToItemMap.get(outerValue as string)?.label || outerValue?.toString() || '',\n );\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = useMemo(\n () =>\n filterItems(\n transformedItems,\n textValue,\n (valueToItemMap.get(value as string)?.label as string) || (value as string),\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 // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else if (multiple) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || (value as string) || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const stringValue = value[index];\n const label = valueToItemMap.get(stringValue)?.label;\n\n const labelAfterRenderValue = renderValue(\n label\n ? labelToItemMap.get(label)!\n : {\n value: stringValue,\n label: stringValue.toString(),\n },\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n const removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);\n\n onChange(\n resultValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n } else {\n const newValues = chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)?.value || chipLabel);\n const removedItemValue = getRemovedElement(value, newValues, isTargetAmount);\n\n onChange(\n newValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue &&\n ((stringValue: string) =>\n renderValue(\n valueToItemMap.get(stringValue) || { value: stringValue, label: stringValue.toString() },\n ));\n const valueToItemMapper = (stringValue: string) =>\n valueToItemMap.get(stringValue)?.label || stringValue.toString();\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n if (!multiple && textValue === value && valueToItemMap.has(value)) {\n setTextValue(valueToItemMap.get(value)?.label || '');\n }\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useLayoutEffect(() => {\n setTextValue(multiple ? '' : valueToItemMap.get(value as string)?.label || value?.toString() || '');\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listMaxHeight={listMaxHeight || listHeight}\n ref={targetRef}\n virtual={virtual}\n listOverflow={listOverflow}\n onScroll={virtual ? undefined : onScroll}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description={emptyStateDescription || 'Ничего не найдено'}\n />\n ) : (\n <>\n {props.multiple && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll\n selectAllOptions={props.selectAllOptions}\n variant={variant}\n />\n )}\n\n {virtual ? (\n <VirtualList\n items={filteredItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </>\n )}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_getItemByFocused","_StyledLeftHelper","name","multiple","outerValue","value","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listMaxHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","_props$virtual","virtual","hintView","hintSize","emptyStateDescription","onChangeValue","onScroll","onToggle","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","Array","isArray","get","toString","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","_valueToItemMap$get2","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","isEmpty","_valueToItemMap$get3","onChange","newValue","item","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","_valueToItemMap$get4","stringValue","labelAfterRenderValue","includes","splice","removedItemValue","getRemovedElement","newValues","map","chipLabel","_labelToItemMap$get","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","set","updateDescendants","updateAncestors","key","push","val","has","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","valueToItemMapper","_valueToItemMap$get5","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","updateSingleAncestors","_valueToItemMap$get6","_valueToItemMap$get7","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","chips","onChangeChips","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getRemovedElement,\n} from './utils';\nimport { Inner, StyledTextField, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport {\n Ul,\n base,\n StyledArrow,\n IconArrowWrapper,\n StyledEmptyState,\n StyledLeftHelper,\n ListWrapper,\n} from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed, ItemOption } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n virtual = false,\n hintView,\n hintSize,\n emptyStateDescription,\n onChangeValue,\n onScroll,\n onToggle,\n // @ts-ignore\n _offset,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(\n multiple || Array.isArray(outerValue)\n ? ''\n : valueToItemMap.get(outerValue as string)?.label || outerValue?.toString() || '',\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 (valueToItemMap.get(value as string)?.label as string) || (value as string),\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 // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else if (multiple) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || (value as string) || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (\n newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null,\n item?: ItemOption | null,\n ) => {\n // Условие для отправки изменений наружу\n if (props.onChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onChangeValue) {\n onChangeValue(e.target.value);\n }\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const stringValue = value[index];\n const label = valueToItemMap.get(stringValue)?.label;\n\n const labelAfterRenderValue = renderValue(\n label\n ? labelToItemMap.get(label)!\n : {\n value: stringValue,\n label: stringValue.toString(),\n },\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n const removedItemValue = getRemovedElement(value, resultValues, isTargetAmount);\n\n onChange(\n resultValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n } else {\n const newValues = chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)?.value || chipLabel);\n const removedItemValue = getRemovedElement(value, newValues, isTargetAmount);\n\n onChange(\n newValues,\n removedItemValue\n ? valueToItemMap.get(removedItemValue) || {\n value: removedItemValue,\n label: removedItemValue.toString(),\n }\n : null,\n );\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue &&\n ((stringValue: string) =>\n renderValue(\n valueToItemMap.get(stringValue) || { value: stringValue, label: stringValue.toString() },\n ));\n const valueToItemMapper = (stringValue: string) =>\n valueToItemMap.get(stringValue)?.label || stringValue.toString();\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n if (!multiple && textValue === value && valueToItemMap.has(value)) {\n setTextValue(valueToItemMap.get(value)?.label || '');\n }\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n // При изменении value нужно возвращать значение в инпуте к исходному.\n useLayoutEffect(() => {\n setTextValue(multiple ? '' : valueToItemMap.get(value as string)?.label || value?.toString() || '');\n }, [outerValue, internalValue]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {helperText}\n </StyledLeftHelper>\n )\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <ListWrapper 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","_valueToItemMap$get","_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","_offset","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","Array","isArray","get","toString","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","listWrapperRef","filteredItems","_valueToItemMap$get2","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","isEmpty","_valueToItemMap$get3","onChange","newValue","item","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","_valueToItemMap$get4","stringValue","labelAfterRenderValue","includes","splice","removedItemValue","getRemovedElement","newValues","map","chipLabel","_labelToItemMap$get","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","set","updateDescendants","updateAncestors","key","push","val","has","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","valueToItemMapper","_valueToItemMap$get5","handlePressDown","helperTextStopPropagation","event","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","updateSingleAncestors","_valueToItemMap$get6","_valueToItemMap$get7","React","createElement","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","StyledLeftHelper","role","getItemId","enumerationType","chips","onChangeChips","_onEnterDisabled","isInner","ListWrapper","Ul","id","StyledEmptyState","emptyStateWrapper","description","Fragment","selectAllOptions","SelectAll","VirtualList","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -30,9 +30,8 @@ var _exp9 = function _exp9() {
|
|
30
30
|
};
|
31
31
|
var _exp10 = function _exp10() {
|
32
32
|
return function (_ref3) {
|
33
|
-
var virtual = _ref3.virtual
|
34
|
-
|
35
|
-
return virtual ? 'visible' : listOverflow || 'visible';
|
33
|
+
var virtual = _ref3.virtual;
|
34
|
+
return virtual ? 'visible' : 'auto';
|
36
35
|
};
|
37
36
|
};
|
38
37
|
var Ul = /*#__PURE__*/styled('ul')({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.styles.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { emptyStateConfig, emptyStateTokens } from '../../EmptyState';\nimport { IconDisclosureDownCentered } from '../../_Icon';\nimport { component, mergeConfig } from '../../../engines';\n\nimport { ComboboxProps } from './Combobox.types';\nimport { tokens, constants, classes } from './Combobox.tokens';\n\nconst mergedConfig = mergeConfig(emptyStateConfig);\nconst EmptyState = component(mergedConfig);\n\nexport const ListWrapper = styled.div<{\n listWidth?: ComboboxProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: ComboboxProps['virtual'];\n
|
1
|
+
{"version":3,"file":"Combobox.styles.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { emptyStateConfig, emptyStateTokens } from '../../EmptyState';\nimport { IconDisclosureDownCentered } from '../../_Icon';\nimport { component, mergeConfig } from '../../../engines';\n\nimport { ComboboxProps } from './Combobox.types';\nimport { tokens, constants, classes } from './Combobox.tokens';\n\nconst mergedConfig = mergeConfig(emptyStateConfig);\nconst EmptyState = component(mergedConfig);\n\nexport const ListWrapper = styled.div<{\n listWidth?: ComboboxProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || '100%'};\n padding: calc(var(${tokens.padding}) + var(${tokens.dropdownBorderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.dropdownBorderWidth}, 0rem) var(${tokens.dropdownBorderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n virtual: ComboboxProps['virtual'];\n listMaxHeight?: ComboboxProps['listMaxHeight'];\n}>`\n max-height: ${({ virtual, listMaxHeight }) => (virtual ? 'auto' : listMaxHeight || 'auto')};\n overflow-y: ${({ virtual }) => (virtual ? 'visible' : 'auto')};\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.dropdownBorderWidth}, 0rem));\n margin: 0;\n padding: 0;\n\n .${classes.emptyStateWrapper} {\n box-shadow: none;\n }\n`;\n\nexport const IconArrowWrapper = styled.div<{ disabled: boolean }>`\n line-height: 0;\n color: var(${tokens.disclosureIconColor});\n cursor: ${({ disabled }) => (disabled ? 'inherit' : 'pointer')};\n\n .${classes.arrowInverse} {\n transform: rotate(-180deg);\n }\n\n &:hover,\n &:active {\n color: ${({ disabled }) =>\n disabled ? `var(${tokens.disclosureIconColor})` : `var(${tokens.disclosureIconColorHover})`};\n }\n`;\n\n// TODO: Удалить после поддержки JS переменных в конфиге компонент\nexport const sizeMap: Record<string, string> = {\n xs: '1rem',\n s: '1.5rem',\n};\n\nexport const StyledArrow = styled(IconDisclosureDownCentered)`\n width: ${({ size = 'xs' }) => `var(${tokens.disclosureIconSize}, ${sizeMap[size]})`};\n height: ${({ size = 'xs' }) => `var(${tokens.disclosureIconSize}, ${sizeMap[size]})`};\n`;\n\nexport const base = css``;\n\nexport const StyledEmptyState = styled(EmptyState)`\n ${emptyStateTokens.borderRadius}: var(${tokens.textFieldBorderRadius});\n ${emptyStateTokens.padding}: var(${tokens.emptyStatePadding});\n ${emptyStateTokens.fontFamily}: var(${tokens.textFieldFontFamily});\n ${emptyStateTokens.fontSize}: var(${tokens.textFieldFontSize});\n ${emptyStateTokens.fontStyle}: var(${tokens.textFieldFontStyle});\n ${emptyStateTokens.fontWeight}: var(${tokens.textFieldFontWeight});\n ${emptyStateTokens.fontLetterSpacing}: var(${tokens.textFieldLetterSpacing});\n ${emptyStateTokens.fontLineHeight}: var(${tokens.textFieldLineHeight});\n`;\n\nexport const StyledLeftHelper = styled.span`\n margin: 0;\n padding: 0;\n`;\n"],"names":["mergedConfig","mergeConfig","emptyStateConfig","EmptyState","component","_exp","_ref","listWidth","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","virtual","listMaxHeight","_exp10","_ref3","Ul","_exp15","_ref4","disabled","_exp17","_ref5","concat","tokens","disclosureIconColor","disclosureIconColorHover","IconArrowWrapper","_exp18","IconDisclosureDownCentered","_exp20","_ref6","_ref6$size","size","disclosureIconSize","xs","s","StyledArrow","base","_exp21","StyledEmptyState","StyledLeftHelper"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { useRef } from 'react';
|
2
2
|
import { FloatingPopover } from '../../FloatingPopover.js';
|
3
3
|
import { ListWrapper, Ul } from '../../Combobox.styles.js';
|
4
4
|
import { safeUseId } from '../../../../../utils/react.js';
|
@@ -11,7 +11,8 @@ var Inner = function Inner(_ref) {
|
|
11
11
|
path = _ref.path,
|
12
12
|
dispatchPath = _ref.dispatchPath,
|
13
13
|
index = _ref.index,
|
14
|
-
listWidth = _ref.listWidth
|
14
|
+
listWidth = _ref.listWidth,
|
15
|
+
portal = _ref.portal;
|
15
16
|
var handleToggle = function handleToggle(opened) {
|
16
17
|
if (opened) {
|
17
18
|
dispatchPath({
|
@@ -26,6 +27,7 @@ var Inner = function Inner(_ref) {
|
|
26
27
|
});
|
27
28
|
}
|
28
29
|
};
|
30
|
+
var listWrapperRef = useRef(null);
|
29
31
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
30
32
|
var treeId = safeUseId();
|
31
33
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -46,13 +48,16 @@ var Inner = function Inner(_ref) {
|
|
46
48
|
ariaLevel: nextLevel,
|
47
49
|
ariaLabel: item.label
|
48
50
|
}),
|
49
|
-
isInner: true
|
51
|
+
isInner: true,
|
52
|
+
portal: portal
|
50
53
|
}, /*#__PURE__*/React.createElement(ListWrapper, {
|
51
|
-
listWidth: listWidth
|
54
|
+
listWidth: listWidth,
|
55
|
+
ref: listWrapperRef
|
52
56
|
}, /*#__PURE__*/React.createElement(Ul, {
|
53
57
|
role: "group",
|
54
58
|
id: listId,
|
55
|
-
virtual: false
|
59
|
+
virtual: false,
|
60
|
+
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
56
61
|
}, (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (innerItem, innerIndex) {
|
57
62
|
return /*#__PURE__*/React.createElement(Inner, {
|
58
63
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -61,7 +66,8 @@ var Inner = function Inner(_ref) {
|
|
61
66
|
path: path,
|
62
67
|
dispatchPath: dispatchPath,
|
63
68
|
index: innerIndex,
|
64
|
-
listWidth: listWidth
|
69
|
+
listWidth: listWidth,
|
70
|
+
portal: listWrapperRef
|
65
71
|
});
|
66
72
|
}))));
|
67
73
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul role=\"group\" id={listId} virtual={false}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","role","id","virtual","map","innerItem","innerIndex","key"],"mappings":";;;;;;;IAYaA,KAAqB,GAAG,SAAxBA,KAAqBA,CAAAC,IAAA,
|
1
|
+
{"version":3,"file":"Inner.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/Inner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { isEmpty } from '../../../../../utils';\nimport { Ul, ListWrapper } from '../../Combobox.styles';\n\nimport type { ItemOptionTransformed } from './ui/Item/Item.types';\nimport { Item } from './ui';\nimport { InnerProps } from './Inner.type';\n\nexport const Inner: FC<InnerProps> = ({ item, currentLevel, path, dispatchPath, index, listWidth, portal }) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (!isEmpty(item?.items)) {\n return (\n <FloatingPopover\n placement={item?.placement || 'right-start'}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n target={\n <Item\n item={item}\n path={path}\n currentLevel={currentLevel}\n index={index}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper listWidth={listWidth} ref={listWrapperRef}>\n <Ul role=\"group\" id={listId} virtual={false} listMaxHeight={item?.listMaxHeight}>\n {item.items?.map((innerItem: ItemOptionTransformed, innerIndex: number) => (\n <Inner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <Item item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n"],"names":["Inner","_ref","item","currentLevel","path","dispatchPath","index","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","isEmpty","items","_item$items","React","createElement","FloatingPopover","placement","onToggle","target","Item","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","role","id","virtual","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
|
@@ -1,59 +1,28 @@
|
|
1
|
-
import React
|
2
|
-
import
|
1
|
+
import React from 'react';
|
2
|
+
import List from 'rc-virtual-list';
|
3
3
|
import { getHeightAsNumber } from '../../../../../utils/getHeightAsNumber.js';
|
4
4
|
import { Item } from '../Inner/ui/Item/Item.js';
|
5
5
|
|
6
6
|
var VirtualList = function VirtualList(_ref) {
|
7
|
-
var _virtualItems$0$start, _virtualItems$;
|
8
7
|
var items = _ref.items,
|
9
8
|
listMaxHeight = _ref.listMaxHeight,
|
10
9
|
onScroll = _ref.onScroll;
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
estimateSize: function estimateSize() {
|
18
|
-
return 48;
|
19
|
-
}
|
20
|
-
});
|
21
|
-
var virtualItems = virtualizer.getVirtualItems();
|
22
|
-
return /*#__PURE__*/React.createElement("div", {
|
23
|
-
ref: parentRef,
|
24
|
-
style: {
|
25
|
-
height: 'auto',
|
26
|
-
maxHeight: getHeightAsNumber(listMaxHeight),
|
27
|
-
overflowY: 'auto'
|
28
|
-
},
|
10
|
+
return /*#__PURE__*/React.createElement(List, {
|
11
|
+
data: items,
|
12
|
+
height: getHeightAsNumber(listMaxHeight),
|
13
|
+
fullHeight: false,
|
14
|
+
itemHeight: 100,
|
15
|
+
itemKey: "id",
|
29
16
|
onScroll: onScroll
|
30
|
-
},
|
31
|
-
|
32
|
-
|
33
|
-
width: '100%',
|
34
|
-
position: 'relative'
|
35
|
-
}
|
36
|
-
}, /*#__PURE__*/React.createElement("div", {
|
37
|
-
style: {
|
38
|
-
position: 'absolute',
|
39
|
-
top: 0,
|
40
|
-
left: 0,
|
41
|
-
width: '100%',
|
42
|
-
transform: "translateY(".concat((_virtualItems$0$start = (_virtualItems$ = virtualItems[0]) === null || _virtualItems$ === void 0 ? void 0 : _virtualItems$.start) !== null && _virtualItems$0$start !== void 0 ? _virtualItems$0$start : 0, "px)")
|
43
|
-
}
|
44
|
-
}, virtualItems.map(function (virtualRow) {
|
45
|
-
return /*#__PURE__*/React.createElement("div", {
|
46
|
-
key: virtualRow.key,
|
47
|
-
"data-index": virtualRow.index,
|
48
|
-
ref: virtualizer.measureElement
|
49
|
-
}, /*#__PURE__*/React.createElement(Item, {
|
50
|
-
item: items[virtualRow.index],
|
17
|
+
}, function (item, index, props) {
|
18
|
+
return /*#__PURE__*/React.createElement("div", props, /*#__PURE__*/React.createElement(Item, {
|
19
|
+
item: item,
|
51
20
|
path: ['root'],
|
52
21
|
currentLevel: 0,
|
53
|
-
index:
|
22
|
+
index: index,
|
54
23
|
ariaLevel: 1
|
55
24
|
}));
|
56
|
-
})
|
25
|
+
});
|
57
26
|
};
|
58
27
|
|
59
28
|
export { VirtualList };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VirtualList.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, {
|
1
|
+
{"version":3,"file":"VirtualList.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.tsx"],"sourcesContent":["import React, { CSSProperties } from 'react';\nimport List from 'rc-virtual-list';\nimport { getHeightAsNumber } from 'src/utils';\n\nimport type { ItemOptionTransformed } from '../Inner/ui/Item/Item.types';\nimport { Item } from '../Inner/ui';\n\ninterface Props {\n items: ItemOptionTransformed[];\n listMaxHeight?: CSSProperties['height'];\n onScroll?: (e: React.UIEvent<HTMLUListElement>) => void;\n}\n\nexport const VirtualList: React.FC<Props> = ({ items, listMaxHeight, onScroll }) => (\n <List\n data={items}\n height={getHeightAsNumber(listMaxHeight)}\n fullHeight={false}\n itemHeight={100}\n itemKey=\"id\"\n onScroll={onScroll}\n >\n {(item, index, props) => (\n <div {...props}>\n <Item item={item} path={['root']} currentLevel={0} index={index} ariaLevel={1} />\n </div>\n )}\n </List>\n);\n"],"names":["VirtualList","_ref","items","listMaxHeight","onScroll","React","createElement","List","data","height","getHeightAsNumber","fullHeight","itemHeight","itemKey","item","index","props","Item","path","currentLevel","ariaLevel"],"mappings":";;;;;IAaaA,WAA4B,GAAG,SAA/BA,WAA4BA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AAAA,EAAA,oBACzEC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;AACDC,IAAAA,IAAI,EAAEN,KAAM;AACZO,IAAAA,MAAM,EAAEC,iBAAiB,CAACP,aAAa,CAAE;AACzCQ,IAAAA,UAAU,EAAE,KAAM;AAClBC,IAAAA,UAAU,EAAE,GAAI;AAChBC,IAAAA,OAAO,EAAC,IAAI;AACZT,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EAElB,UAACU,IAAI,EAAEC,KAAK,EAAEC,KAAK,EAAA;IAAA,oBAChBX,KAAA,CAAAC,aAAA,CAASU,KAAAA,EAAAA,KAAK,eACVX,KAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AAACH,MAAAA,IAAI,EAAEA,IAAK;MAACI,IAAI,EAAE,CAAC,MAAM,CAAE;AAACC,MAAAA,YAAY,EAAE,CAAE;AAACJ,MAAAA,KAAK,EAAEA,KAAM;AAACK,MAAAA,SAAS,EAAE,CAAA;AAAE,KAAE,CAC/E,CAAC,CAAA;AAAA,GAER,CAAC,CAAA;AAAA;;;;"}
|
@@ -16,7 +16,7 @@ import { getFormattedDates } from '../utils/getFormattedDates.js';
|
|
16
16
|
import { noop } from '../../../utils/noop.js';
|
17
17
|
import { getSortedValues } from '../../Calendar/utils/calendarRangeHelper.js';
|
18
18
|
|
19
|
-
var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "value", "defaultFirstDate", "defaultSecondDate", "preserveInvalidOnBlur", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "hasRequiredIndicator", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "
|
19
|
+
var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "value", "defaultFirstDate", "defaultSecondDate", "preserveInvalidOnBlur", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "hasRequiredIndicator", "format", "lang", "maskWithFormat", "min", "max", "renderFromDate", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "calendarContainerWidth", "calendarContainerHeight", "stretched", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
|
20
20
|
var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
21
21
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
22
22
|
var _rangeRef$current, _rangeRef$current2, _outerValue$, _outerValue$2;
|
@@ -89,7 +89,6 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
89
89
|
frame = _ref$frame === void 0 ? 'document' : _ref$frame,
|
90
90
|
_ref$usePortal = _ref.usePortal,
|
91
91
|
usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
|
92
|
-
zIndex = _ref.zIndex,
|
93
92
|
_ref$placement = _ref.placement,
|
94
93
|
placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
|
95
94
|
_ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
|
@@ -481,7 +480,6 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
481
480
|
renderFromDate: renderFromDate,
|
482
481
|
frame: frame,
|
483
482
|
usePortal: usePortal,
|
484
|
-
zIndex: zIndex,
|
485
483
|
placement: placement,
|
486
484
|
closeOnOverlayClick: closeOnOverlayClick,
|
487
485
|
closeOnEsc: closeOnEsc,
|