@salutejs/plasma-new-hope 0.178.2-canary.1518.11590226743.0 → 0.178.2-canary.1520.11590201801.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -2
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  3. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  4. package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  5. package/cjs/components/TextArea/TextArea.js +1 -1
  6. package/cjs/components/TextArea/TextArea.js.map +1 -1
  7. package/cjs/components/TextArea/hooks/useAutoResize.js +3 -3
  8. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  9. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -2
  10. package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  11. package/emotion/cjs/components/TextArea/TextArea.js +2 -2
  12. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +3 -3
  13. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  14. package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  15. package/emotion/es/components/TextArea/TextArea.js +2 -2
  16. package/emotion/es/components/TextArea/hooks/useAutoResize.js +3 -3
  17. package/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  18. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  19. package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  20. package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
  21. package/es/components/TextArea/TextArea.js +1 -1
  22. package/es/components/TextArea/TextArea.js.map +1 -1
  23. package/es/components/TextArea/hooks/useAutoResize.js +3 -3
  24. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  25. package/package.json +2 -2
  26. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -2
  27. package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  28. package/styled-components/cjs/components/TextArea/TextArea.js +1 -1
  29. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +3 -3
  30. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -2
  31. package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -2
  32. package/styled-components/es/components/TextArea/TextArea.js +1 -1
  33. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +3 -3
  34. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  35. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +1 -2
  36. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  37. package/types/components/TextArea/hooks/useAutoResize.d.ts +1 -1
  38. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
@@ -332,7 +332,7 @@ var comboboxRoot = function comboboxRoot(Root) {
332
332
  }
333
333
  }
334
334
  setChecked(checkedCopy);
335
- setTextValue(((_valueToItemMap$get4 = valueToItemMap.get(value)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.label) || '');
335
+ setTextValue(((_valueToItemMap$get4 = valueToItemMap.get(outerValue)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.label) || '');
336
336
 
337
337
  // В deps мы кладем именно outerValue и internalValue, а не просто value.
338
338
  // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
@@ -365,7 +365,6 @@ var comboboxRoot = function comboboxRoot(Root) {
365
365
  },
366
366
  placement: placement,
367
367
  portal: portal,
368
- listWidth: listWidth,
369
368
  target: function target(referenceRef) {
370
369
  return /*#__PURE__*/React.createElement(Target_styles.StyledTextField, _rollupPluginBabelHelpers.extends({
371
370
  ref: inputForkRef,
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\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 getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\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 listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n ...rest\n } = props;\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(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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 = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || 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) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\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\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\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\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);\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 if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\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);\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 && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\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 { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\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={helperText}\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 {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\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 </Ul>\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":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_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","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","Array","isArray","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","_valueToItemMap$get4","_","val","updateSingleAncestors","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","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, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\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 getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\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 listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n ...rest\n } = props;\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(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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 = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || 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) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\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\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\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\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);\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 if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\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);\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 && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\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 { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(outerValue as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\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={helperText}\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 {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\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 </Ul>\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":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_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","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","Array","isArray","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","_valueToItemMap$get4","_","val","updateSingleAncestors","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -14,7 +14,6 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
14
14
  onToggle = _ref.onToggle,
15
15
  placement = _ref.placement,
16
16
  portal = _ref.portal,
17
- listWidth = _ref.listWidth,
18
17
  _ref$offset = _ref.offset,
19
18
  offset = _ref$offset === void 0 ? 0 : _ref$offset;
20
19
  var _useFloating = react.useFloating({
@@ -27,7 +26,7 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
27
26
  var rects = _ref2.rects,
28
27
  elements = _ref2.elements;
29
28
  Object.assign(elements.floating.style, {
30
- width: listWidth || "".concat(rects.reference.width, "px")
29
+ width: "".concat(rects.reference.width, "px")
31
30
  });
32
31
  }
33
32
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPopover.js","sources":["../../../../src/components/Combobox/ComboboxNew/FloatingPopover.tsx"],"sourcesContent":["import { flip, shift, size, useFloating, FloatingPortal, offset as offsetMiddleware } from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { FloatingPopoverProps } from './Combobox.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, listWidth, offset = 0 }, ref) => {\n const { refs, floatingStyles } = useFloating({\n placement,\n open: opened,\n middleware: [\n offsetMiddleware(offset),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: listWidth || `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n const handleClick = () => {\n if (onToggle) {\n onToggle(!opened);\n }\n };\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference} onClick={handleClick}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal root={portal} id={portal ? undefined : wrappedId}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: 1 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","listWidth","_ref$offset","offset","_useFloating","useFloating","open","middleware","offsetMiddleware","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","undefined","setReference","onClick","FloatingPortal","root","setFloating","_objectSpread","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"FloatingPopover.js","sources":["../../../../src/components/Combobox/ComboboxNew/FloatingPopover.tsx"],"sourcesContent":["import { flip, shift, size, useFloating, FloatingPortal, offset as offsetMiddleware } from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { FloatingPopoverProps } from './Combobox.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset = 0 }, ref) => {\n const { refs, floatingStyles } = useFloating({\n placement,\n open: opened,\n middleware: [\n offsetMiddleware(offset),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n const handleClick = () => {\n if (onToggle) {\n onToggle(!opened);\n }\n };\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference} onClick={handleClick}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal root={portal} id={portal ? undefined : wrappedId}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: 1 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","_ref$offset","offset","_useFloating","useFloating","open","middleware","offsetMiddleware","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","handleClick","isTargetAsFunction","React","createElement","id","undefined","setReference","onClick","FloatingPortal","root","setFloating","_objectSpread","zIndex"],"mappings":"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"}
@@ -178,7 +178,7 @@ var textAreaRoot = function textAreaRoot(Root) {
178
178
  setHelperWidth("".concat(elementWidth / useAutoResize.ROOT_FONT_SIZE, "rem"));
179
179
  }
180
180
  });
181
- useAutoResize.useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
181
+ useAutoResize.useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, resize);
182
182
  var onFocusHandler = React.useCallback(function () {
183
183
  setFocused(true);
184
184
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useRef, MouseEventHandler } from 'react';\nimport { css } from '@linaria/core';\nimport { useForkRef, useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\nimport { useOutsideClick } from '../../hooks';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n OuterLabelWrapper,\n StyledIndicatorWrapper,\n StyledHintWrapper,\n TitleCaption,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport type { TextAreaProps, TextAreaRootProps } from './TextArea.types';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaRootProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n titleCaption,\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n onChange,\n ...rest\n } = props;\n\n const [isHintVisible, setIsHintVisible] = useState(false);\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText inheritFont={!hasOuterLabel}>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel>{label}</StyledLabel>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {!hasOuterLabel && (\n <>\n {required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","HINT_DEFAULT_OFFSET","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","_props$hintTrigger","hintTrigger","hintText","_props$hintView","hintView","_props$hintSize","hintSize","hintTargetIcon","_props$hintPlacement","hintPlacement","hintHasArrow","_props$hintOffset","hintOffset","hintWidth","hintContentLeft","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hintRef","useOutsideClick","hintInnerRef","useRef","hintForkRef","useForkRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintInnerRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","inheritFont","_extends","_objectSpread","cx","onClick","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","StyledLabel","StyledHintWrapper","HintComponent","ref","StyledIndicator","outerLabelPlacement","TitleCaption","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","Fragment","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","hasContentRight","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useRef, MouseEventHandler } from 'react';\nimport { css } from '@linaria/core';\nimport { useForkRef, useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\nimport { useOutsideClick } from '../../hooks';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n OuterLabelWrapper,\n StyledIndicatorWrapper,\n StyledHintWrapper,\n TitleCaption,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/base';\nimport type { TextAreaProps, TextAreaRootProps } from './TextArea.types';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaRootProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n titleCaption,\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n onChange,\n ...rest\n } = props;\n\n const [isHintVisible, setIsHintVisible] = useState(false);\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, resize);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText inheritFont={!hasOuterLabel}>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel>{label}</StyledLabel>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {!hasOuterLabel && (\n <>\n {required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","HINT_DEFAULT_OFFSET","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","_props$hintTrigger","hintTrigger","hintText","_props$hintView","hintView","_props$hintSize","hintSize","hintTargetIcon","_props$hintPlacement","hintPlacement","hintHasArrow","_props$hintOffset","hintOffset","hintWidth","hintContentLeft","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hintRef","useOutsideClick","hintInnerRef","useRef","hintForkRef","useForkRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintInnerRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","inheritFont","_extends","_objectSpread","cx","onClick","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","StyledLabel","StyledHintWrapper","HintComponent","ref","StyledIndicator","outerLabelPlacement","TitleCaption","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","Fragment","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","hasContentRight","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":"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"}
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
 
7
7
  var ROOT_FONT_SIZE = 16;
8
- var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
8
+ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, resize) {
9
9
  var previousHeight = React.useRef();
10
10
  React.useEffect(function () {
11
11
  if (active && ref && ref.current) {
12
12
  // проверка на пользовательский resize (вручную)
13
13
  var height = ref.current.clientHeight / ROOT_FONT_SIZE;
14
- if (previousHeight.current !== undefined && previousHeight.current !== height) {
14
+ if (resize && resize !== 'none' && previousHeight.current !== undefined && previousHeight.current !== height) {
15
15
  return;
16
16
  }
17
17
  var style = getComputedStyle(ref.current);
@@ -26,7 +26,7 @@ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto)
26
26
  ref.current.style.height = "".concat(newHeight, "rem");
27
27
  previousHeight.current = newHeight;
28
28
  }
29
- }, [ref, active, value, minAuto, maxAuto]);
29
+ }, [ref, resize, active, value, minAuto, maxAuto]);
30
30
  };
31
31
 
32
32
  exports.ROOT_FONT_SIZE = ROOT_FONT_SIZE;
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n) => {\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (previousHeight.current !== undefined && previousHeight.current !== height) {\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, active, value, minAuto, maxAuto]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","previousHeight","useRef","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;;;;;AAEO,IAAMA,cAAc,GAAG,GAAE;AAEnBC,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EACf;AACD,EAAA,IAAMC,cAAc,GAAGC,YAAM,EAAsB,CAAA;AAEnDC,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAIP,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACO,OAAO,EAAE;AAC9B;MACA,IAAMC,MAAM,GAAGR,GAAG,CAACO,OAAO,CAACE,YAAY,GAAGZ,cAAc,CAAA;MACxD,IAAIO,cAAc,CAACG,OAAO,KAAKG,SAAS,IAAIN,cAAc,CAACG,OAAO,KAAKC,MAAM,EAAE;AAC3E,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMG,KAAK,GAAGC,gBAAgB,CAACZ,GAAG,CAACO,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGhB,cAAc,CAAA;MAEnD,IAAMmB,aAAa,GAAGd,OAAO,GAAGA,OAAO,GAAGa,eAAe,GAAG,CAAC,CAAA;MAC7Df,GAAG,CAACO,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACpB,GAAG,CAACO,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGpB,OAAO,GAAGA,OAAO,GAAGY,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DvB,GAAG,CAACO,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CpB,cAAc,CAACG,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;AACJ,GAAC,EAAE,CAACxB,GAAG,EAAED,MAAM,EAAEE,KAAK,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAA;AAC9C;;;;;"}
1
+ {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n resize?: string,\n) => {\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (\n resize &&\n resize !== 'none' &&\n previousHeight.current !== undefined &&\n previousHeight.current !== height\n ) {\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, resize, active, value, minAuto, maxAuto]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","resize","previousHeight","useRef","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;;;;;AAEO,IAAMA,cAAc,GAAG,GAAE;IAEnBC,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EAChBC,MAAe,EACd;AACD,EAAA,IAAMC,cAAc,GAAGC,YAAM,EAAsB,CAAA;AAEnDC,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAIR,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACQ,OAAO,EAAE;AAC9B;MACA,IAAMC,MAAM,GAAGT,GAAG,CAACQ,OAAO,CAACE,YAAY,GAAGb,cAAc,CAAA;AACxD,MAAA,IACIO,MAAM,IACNA,MAAM,KAAK,MAAM,IACjBC,cAAc,CAACG,OAAO,KAAKG,SAAS,IACpCN,cAAc,CAACG,OAAO,KAAKC,MAAM,EACnC;AACE,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMG,KAAK,GAAGC,gBAAgB,CAACb,GAAG,CAACQ,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGjB,cAAc,CAAA;MAEnD,IAAMoB,aAAa,GAAGf,OAAO,GAAGA,OAAO,GAAGc,eAAe,GAAG,CAAC,CAAA;MAC7DhB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACrB,GAAG,CAACQ,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGrB,OAAO,GAAGA,OAAO,GAAGa,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DxB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CpB,cAAc,CAACG,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;AACJ,GAAC,EAAE,CAACzB,GAAG,EAAEI,MAAM,EAAEL,MAAM,EAAEE,KAAK,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAAC,CAAA;AACtD;;;;;"}
@@ -336,7 +336,7 @@ var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
336
336
  }
337
337
  }
338
338
  setChecked(checkedCopy);
339
- setTextValue(((_valueToItemMap$get4 = valueToItemMap.get(value)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.label) || '');
339
+ setTextValue(((_valueToItemMap$get4 = valueToItemMap.get(outerValue)) === null || _valueToItemMap$get4 === void 0 ? void 0 : _valueToItemMap$get4.label) || '');
340
340
 
341
341
  // В deps мы кладем именно outerValue и internalValue, а не просто value.
342
342
  // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
@@ -369,7 +369,6 @@ var comboboxRoot = exports.comboboxRoot = function comboboxRoot(Root) {
369
369
  },
370
370
  placement: placement,
371
371
  portal: portal,
372
- listWidth: listWidth,
373
372
  target: function target(referenceRef) {
374
373
  return /*#__PURE__*/_react["default"].createElement(_ui.StyledTextField, _extends({
375
374
  ref: inputForkRef,
@@ -22,7 +22,6 @@ var FloatingPopover = exports.FloatingPopover = /*#__PURE__*/(0, _react2.forward
22
22
  onToggle = _ref.onToggle,
23
23
  placement = _ref.placement,
24
24
  portal = _ref.portal,
25
- listWidth = _ref.listWidth,
26
25
  _ref$offset = _ref.offset,
27
26
  offset = _ref$offset === void 0 ? 0 : _ref$offset;
28
27
  var _useFloating = (0, _react.useFloating)({
@@ -35,7 +34,7 @@ var FloatingPopover = exports.FloatingPopover = /*#__PURE__*/(0, _react2.forward
35
34
  var rects = _ref2.rects,
36
35
  elements = _ref2.elements;
37
36
  Object.assign(elements.floating.style, {
38
- width: listWidth || "".concat(rects.reference.width, "px")
37
+ width: "".concat(rects.reference.width, "px")
39
38
  });
40
39
  }
41
40
  })]