@salutejs/plasma-new-hope 0.337.0-canary.2262.18095422153.0 → 0.337.0-canary.2262.18129440241.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.
Files changed (180) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +8 -4
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -5
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  5. package/cjs/components/Dropdown/Dropdown.js +3 -4
  6. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  7. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  8. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  9. package/cjs/components/InformationWrapper/ui/Label/Label.js +7 -9
  10. package/cjs/components/InformationWrapper/ui/Label/Label.js.map +1 -1
  11. package/cjs/components/Pagination/utils/index.js +10 -1
  12. package/cjs/components/Pagination/utils/index.js.map +1 -1
  13. package/cjs/components/Select/Select.js +4 -3
  14. package/cjs/components/Select/Select.js.map +1 -1
  15. package/cjs/components/Table/ui/EditableCell/EditableCell.js +3 -2
  16. package/cjs/components/Table/ui/EditableCell/EditableCell.js.map +1 -1
  17. package/cjs/components/TextArea/TextArea.js +8 -9
  18. package/cjs/components/TextArea/TextArea.js.map +1 -1
  19. package/cjs/components/TextField/TextField.js +3 -2
  20. package/cjs/components/TextField/TextField.js.map +1 -1
  21. package/cjs/components/Tree/Tree.css +7 -7
  22. package/cjs/components/Tree/Tree.js +15 -6
  23. package/cjs/components/Tree/Tree.js.map +1 -1
  24. package/cjs/components/Tree/Tree.styles.js +37 -7
  25. package/cjs/components/Tree/Tree.styles.js.map +1 -1
  26. package/cjs/components/Tree/Tree.styles_ihv9l0.css +8 -0
  27. package/cjs/components/Tree/Tree.tokens.js +3 -1
  28. package/cjs/components/Tree/Tree.tokens.js.map +1 -1
  29. package/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  30. package/cjs/components/Tree/utils/sizeToIconSize.js.map +1 -1
  31. package/cjs/hooks/useOutsideClick.js +14 -14
  32. package/cjs/hooks/useOutsideClick.js.map +1 -1
  33. package/cjs/index.css +8 -8
  34. package/emotion/cjs/components/Autocomplete/Autocomplete.js +9 -4
  35. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +6 -5
  36. package/emotion/cjs/components/Dropdown/Dropdown.js +5 -4
  37. package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  38. package/emotion/cjs/components/InformationWrapper/ui/Label/Label.js +9 -9
  39. package/emotion/cjs/components/Pagination/utils/index.js +36 -1
  40. package/emotion/cjs/components/Select/Select.js +5 -3
  41. package/emotion/cjs/components/Table/ui/EditableCell/EditableCell.js +6 -3
  42. package/emotion/cjs/components/TextArea/TextArea.js +11 -10
  43. package/emotion/cjs/components/TextField/TextField.js +6 -3
  44. package/emotion/cjs/components/Tree/Tree.js +14 -9
  45. package/emotion/cjs/components/Tree/Tree.styles.js +27 -16
  46. package/emotion/cjs/components/Tree/Tree.tokens.js +3 -1
  47. package/emotion/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  48. package/emotion/cjs/examples/components/Avatar/Avatar.config.js +23 -24
  49. package/emotion/cjs/examples/components/Chip/Chip.js +29 -5
  50. package/emotion/cjs/examples/components/Chip/Chip.transparent.config.js +45 -0
  51. package/emotion/cjs/examples/components/Tree/Tree.config.js +5 -5
  52. package/emotion/cjs/hooks/useOutsideClick.js +13 -13
  53. package/emotion/es/components/Autocomplete/Autocomplete.js +9 -4
  54. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +6 -5
  55. package/emotion/es/components/Dropdown/Dropdown.js +5 -4
  56. package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  57. package/emotion/es/components/InformationWrapper/ui/Label/Label.js +9 -9
  58. package/emotion/es/components/Pagination/utils/index.js +36 -1
  59. package/emotion/es/components/Select/Select.js +5 -3
  60. package/emotion/es/components/Table/ui/EditableCell/EditableCell.js +7 -4
  61. package/emotion/es/components/TextArea/TextArea.js +12 -11
  62. package/emotion/es/components/TextField/TextField.js +6 -3
  63. package/emotion/es/components/Tree/Tree.js +12 -7
  64. package/emotion/es/components/Tree/Tree.styles.js +27 -16
  65. package/emotion/es/components/Tree/Tree.tokens.js +3 -1
  66. package/emotion/es/components/Tree/utils/sizeToIconSize.js +2 -2
  67. package/emotion/es/examples/components/Avatar/Avatar.config.js +23 -24
  68. package/emotion/es/examples/components/Chip/Chip.js +15 -2
  69. package/emotion/es/examples/components/Chip/Chip.transparent.config.js +35 -0
  70. package/emotion/es/examples/components/Tree/Tree.config.js +5 -5
  71. package/emotion/es/hooks/useOutsideClick.js +14 -14
  72. package/es/components/Autocomplete/Autocomplete.js +8 -4
  73. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  74. package/es/components/Combobox/ComboboxNew/Combobox.js +4 -5
  75. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  76. package/es/components/Dropdown/Dropdown.js +3 -4
  77. package/es/components/Dropdown/Dropdown.js.map +1 -1
  78. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  79. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  80. package/es/components/InformationWrapper/ui/Label/Label.js +7 -9
  81. package/es/components/InformationWrapper/ui/Label/Label.js.map +1 -1
  82. package/es/components/Pagination/utils/index.js +10 -1
  83. package/es/components/Pagination/utils/index.js.map +1 -1
  84. package/es/components/Select/Select.js +4 -3
  85. package/es/components/Select/Select.js.map +1 -1
  86. package/es/components/Table/ui/EditableCell/EditableCell.js +4 -3
  87. package/es/components/Table/ui/EditableCell/EditableCell.js.map +1 -1
  88. package/es/components/TextArea/TextArea.js +9 -10
  89. package/es/components/TextArea/TextArea.js.map +1 -1
  90. package/es/components/TextField/TextField.js +3 -2
  91. package/es/components/TextField/TextField.js.map +1 -1
  92. package/es/components/Tree/Tree.css +7 -7
  93. package/es/components/Tree/Tree.js +14 -6
  94. package/es/components/Tree/Tree.js.map +1 -1
  95. package/es/components/Tree/Tree.styles.js +37 -7
  96. package/es/components/Tree/Tree.styles.js.map +1 -1
  97. package/es/components/Tree/Tree.styles_ihv9l0.css +8 -0
  98. package/es/components/Tree/Tree.tokens.js +3 -1
  99. package/es/components/Tree/Tree.tokens.js.map +1 -1
  100. package/es/components/Tree/utils/sizeToIconSize.js +2 -2
  101. package/es/components/Tree/utils/sizeToIconSize.js.map +1 -1
  102. package/es/hooks/useOutsideClick.js +15 -15
  103. package/es/hooks/useOutsideClick.js.map +1 -1
  104. package/es/index.css +8 -8
  105. package/package.json +2 -2
  106. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +9 -4
  107. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +6 -5
  108. package/styled-components/cjs/components/Dropdown/Dropdown.js +5 -4
  109. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  110. package/styled-components/cjs/components/InformationWrapper/ui/Label/Label.js +9 -9
  111. package/styled-components/cjs/components/Pagination/utils/index.js +36 -1
  112. package/styled-components/cjs/components/Select/Select.js +5 -3
  113. package/styled-components/cjs/components/Table/ui/EditableCell/EditableCell.js +6 -3
  114. package/styled-components/cjs/components/TextArea/TextArea.js +10 -9
  115. package/styled-components/cjs/components/TextField/TextField.js +5 -2
  116. package/styled-components/cjs/components/Tree/Tree.js +14 -9
  117. package/styled-components/cjs/components/Tree/Tree.styles.js +38 -27
  118. package/styled-components/cjs/components/Tree/Tree.tokens.js +3 -1
  119. package/styled-components/cjs/components/Tree/utils/sizeToIconSize.js +2 -2
  120. package/styled-components/cjs/examples/components/Avatar/Avatar.config.js +0 -33
  121. package/styled-components/cjs/examples/components/Chip/Chip.js +29 -5
  122. package/styled-components/cjs/examples/components/Chip/Chip.transparent.config.js +225 -0
  123. package/styled-components/cjs/examples/components/Tree/Tree.config.js +12 -8
  124. package/styled-components/cjs/hooks/useOutsideClick.js +13 -13
  125. package/styled-components/es/components/Autocomplete/Autocomplete.js +9 -4
  126. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +6 -5
  127. package/styled-components/es/components/Dropdown/Dropdown.js +5 -4
  128. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  129. package/styled-components/es/components/InformationWrapper/ui/Label/Label.js +9 -9
  130. package/styled-components/es/components/Pagination/utils/index.js +36 -1
  131. package/styled-components/es/components/Select/Select.js +5 -3
  132. package/styled-components/es/components/Table/ui/EditableCell/EditableCell.js +7 -4
  133. package/styled-components/es/components/TextArea/TextArea.js +11 -10
  134. package/styled-components/es/components/TextField/TextField.js +5 -2
  135. package/styled-components/es/components/Tree/Tree.js +12 -7
  136. package/styled-components/es/components/Tree/Tree.styles.js +38 -27
  137. package/styled-components/es/components/Tree/Tree.tokens.js +3 -1
  138. package/styled-components/es/components/Tree/utils/sizeToIconSize.js +2 -2
  139. package/styled-components/es/examples/components/Avatar/Avatar.config.js +0 -33
  140. package/styled-components/es/examples/components/Chip/Chip.js +15 -2
  141. package/styled-components/es/examples/components/Chip/Chip.transparent.config.js +215 -0
  142. package/styled-components/es/examples/components/Tree/Tree.config.js +12 -8
  143. package/styled-components/es/hooks/useOutsideClick.js +14 -14
  144. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  145. package/types/components/Chip/Chip.types.d.ts +1 -0
  146. package/types/components/Chip/Chip.types.d.ts.map +1 -1
  147. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  148. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  149. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
  150. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +5 -0
  151. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  152. package/types/components/InformationWrapper/ui/Label/Label.d.ts.map +1 -1
  153. package/types/components/Pagination/Pagination.types.d.ts +1 -1
  154. package/types/components/Pagination/utils/index.d.ts +1 -1
  155. package/types/components/Pagination/utils/index.d.ts.map +1 -1
  156. package/types/components/Table/ui/EditableCell/EditableCell.d.ts.map +1 -1
  157. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  158. package/types/components/TextField/TextField.d.ts.map +1 -1
  159. package/types/components/Tree/Tree.d.ts.map +1 -1
  160. package/types/components/Tree/Tree.styles.d.ts +4 -1
  161. package/types/components/Tree/Tree.styles.d.ts.map +1 -1
  162. package/types/components/Tree/Tree.tokens.d.ts +2 -0
  163. package/types/components/Tree/Tree.tokens.d.ts.map +1 -1
  164. package/types/components/Tree/Tree.types.d.ts +10 -0
  165. package/types/components/Tree/Tree.types.d.ts.map +1 -1
  166. package/types/components/Tree/utils/sizeToIconSize.d.ts +1 -1
  167. package/types/components/Tree/utils/sizeToIconSize.d.ts.map +1 -1
  168. package/types/examples/components/Avatar/Avatar.config.d.ts +0 -1
  169. package/types/examples/components/Avatar/Avatar.config.d.ts.map +1 -1
  170. package/types/examples/components/Avatar/Avatar.d.ts +0 -3
  171. package/types/examples/components/Avatar/Avatar.d.ts.map +1 -1
  172. package/types/examples/components/Chip/Chip.d.ts +55 -1
  173. package/types/examples/components/Chip/Chip.d.ts.map +1 -1
  174. package/types/examples/components/Chip/Chip.transparent.config.d.ts +34 -0
  175. package/types/examples/components/Chip/Chip.transparent.config.d.ts.map +1 -0
  176. package/types/examples/components/Tree/Tree.config.d.ts.map +1 -1
  177. package/types/hooks/useOutsideClick.d.ts +1 -1
  178. package/types/hooks/useOutsideClick.d.ts.map +1 -1
  179. package/cjs/components/Tree/Tree.styles_1bw3k0r.css +0 -8
  180. package/es/components/Tree/Tree.styles_1bw3k0r.css +0 -8
@@ -146,12 +146,14 @@ var selectRoot = function selectRoot(Root) {
146
146
  hintWidth: hintWidth,
147
147
  hintHasArrow: hintHasArrow
148
148
  };
149
- var targetRef = useOutsideClick(function () {
149
+
150
+ /* Логика работы при клике за пределами выпадающего списка */
151
+ useOutsideClick(function () {
150
152
  if (!isCurrentListOpen) {
151
153
  return;
152
154
  }
153
155
  handleListToggle(false);
154
- }, floatingPopoverRef);
156
+ }, [floatingPopoverRef, listWrapperRef]);
155
157
  var onChange = function onChange(newValue, item) {
156
158
  if (props.onChange) {
157
159
  // Условие для отправки если компонент используется без формы.
@@ -439,7 +441,6 @@ var selectRoot = function selectRoot(Root) {
439
441
  "aria-multiselectable": Boolean(props.multiselect),
440
442
  listMaxHeight: listMaxHeight || listHeight,
441
443
  onScroll: virtual ? undefined : handleScroll,
442
- ref: targetRef,
443
444
  virtual: virtual
444
445
  }, beforeList, props.multiselect && props.selectAllOptions &&
445
446
  /*#__PURE__*/
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","targetRef","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { useState } from 'react';
2
+ import React, { useState, useRef } from 'react';
3
3
  import { flexRender } from '@tanstack/react-table';
4
4
  import { Resizer } from '../../Table.styles.js';
5
5
  import { SELECT_COLUMN_ID } from '../../Table.js';
@@ -34,9 +34,10 @@ var EditableCell = function EditableCell(_ref) {
34
34
  editingMode = _useState4[0],
35
35
  setEditingMode = _useState4[1];
36
36
  var updateData = (_table$options$meta = table.options.meta) === null || _table$options$meta === void 0 ? void 0 : _table$options$meta.updateData;
37
- var ref = useOutsideClick(function () {
37
+ var ref = useRef(null);
38
+ useOutsideClick(function () {
38
39
  setEditingMode(false);
39
- });
40
+ }, [ref]);
40
41
  var handleEditClick = function handleEditClick(e) {
41
42
  e.stopPropagation();
42
43
  setEditingMode(true);
@@ -1 +1 @@
1
- {"version":3,"file":"EditableCell.js","sources":["../../../../../src/components/Table/ui/EditableCell/EditableCell.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { flexRender, Table, Cell as CellType } from '@tanstack/react-table';\n\nimport { Resizer } from '../../Table.styles';\nimport { SELECT_COLUMN_ID } from '../../Table';\nimport { useOutsideClick } from '../../../../hooks';\nimport { IconEditOutline, IconResetOutline, IconDoneCircleOutline } from '../../../_Icon';\nimport { getIconSize } from '../HeadCell/HeadCell';\nimport { classes } from '../../Table.tokens';\nimport { TableProps, TableRowData } from '../../Table.types';\n\nimport {\n ContentWrapper,\n Td,\n IconDoneButton,\n Input,\n InnerWrapper,\n InputWrapper,\n EditModeWrapper,\n IconResetButton,\n} from './EditableCell.styles';\n\nconst keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n};\n\ntype Props = {\n size: TableProps['size'];\n view: TableProps['view'];\n cell: CellType<TableRowData, unknown>;\n borderVariant: TableProps['borderVariant'];\n selected: boolean;\n table: Table<TableRowData>;\n};\n\nexport const EditableCell: React.FC<Props> = ({ size, view, cell, borderVariant, table, selected }) => {\n const [value, setValue] = useState<string>(cell.getValue() as string);\n const [editingMode, setEditingMode] = useState(false);\n\n const updateData = table.options.meta?.updateData;\n\n const ref = useOutsideClick<HTMLTableDataCellElement>(() => {\n setEditingMode(false);\n });\n\n const handleEditClick = (e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n\n setEditingMode(true);\n setValue(cell.getValue() as string);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => setValue(e.target.value);\n\n const handleReset = () => {\n setValue(cell.getValue() as string);\n };\n\n const handleSubmit = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n\n if (updateData) {\n updateData(cell.row.id, cell.column.id, value);\n }\n setEditingMode(false);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.code) {\n case keys.Enter: {\n if (updateData) {\n updateData(cell.row.id, cell.column.id, value);\n }\n\n setEditingMode(false);\n\n break;\n }\n\n case keys.Escape:\n case keys.Tab: {\n setEditingMode(false);\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return (\n <Td\n key={cell.id}\n borderVariant={borderVariant}\n selectionCell={cell.column.id === SELECT_COLUMN_ID}\n onClick={handleEditClick}\n editingMode={editingMode}\n selected={selected}\n view={view}\n ref={ref}\n >\n <InnerWrapper>\n {editingMode ? (\n <EditModeWrapper>\n <InputWrapper>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <Input value={value} onChange={handleChange} autoFocus onKeyDown={handleKeyDown} />\n\n <IconResetButton onClick={handleReset} tabIndex={-1}>\n <IconResetOutline size={getIconSize(size)} />\n </IconResetButton>\n </InputWrapper>\n\n <IconDoneButton onClick={handleSubmit} tabIndex={-1}>\n <IconDoneCircleOutline size={getIconSize(size)} />\n </IconDoneButton>\n </EditModeWrapper>\n ) : (\n <ContentWrapper>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n\n <IconEditOutline size=\"xs\" className={classes.editIcon} color=\"var(--text-secondary)\" />\n </ContentWrapper>\n )}\n </InnerWrapper>\n\n {cell.column.getIsResizing() && <Resizer isResizing />}\n </Td>\n );\n};\n"],"names":["keys","Enter","Tab","Escape","EditableCell","_ref","_table$options$meta","size","view","cell","borderVariant","table","selected","_useState","useState","getValue","_useState2","_slicedToArray","value","setValue","_useState3","_useState4","editingMode","setEditingMode","updateData","options","meta","ref","useOutsideClick","handleEditClick","e","stopPropagation","handleChange","target","handleReset","handleSubmit","row","id","column","handleKeyDown","event","code","React","createElement","Td","key","selectionCell","SELECT_COLUMN_ID","onClick","InnerWrapper","EditModeWrapper","InputWrapper","Input","onChange","autoFocus","onKeyDown","IconResetButton","tabIndex","IconResetOutline","getIconSize","IconDoneButton","IconDoneCircleOutline","ContentWrapper","flexRender","columnDef","getContext","IconEditOutline","className","classes","editIcon","color","getIsResizing","_Resizer","Resizer","isResizing"],"mappings":"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"}
1
+ {"version":3,"file":"EditableCell.js","sources":["../../../../../src/components/Table/ui/EditableCell/EditableCell.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { flexRender, Table, Cell as CellType } from '@tanstack/react-table';\nimport { useOutsideClick } from 'src/hooks';\n\nimport { Resizer } from '../../Table.styles';\nimport { SELECT_COLUMN_ID } from '../../Table';\nimport { IconEditOutline, IconResetOutline, IconDoneCircleOutline } from '../../../_Icon';\nimport { getIconSize } from '../HeadCell/HeadCell';\nimport { classes } from '../../Table.tokens';\nimport { TableProps, TableRowData } from '../../Table.types';\n\nimport {\n ContentWrapper,\n Td,\n IconDoneButton,\n Input,\n InnerWrapper,\n InputWrapper,\n EditModeWrapper,\n IconResetButton,\n} from './EditableCell.styles';\n\nconst keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n};\n\ntype Props = {\n size: TableProps['size'];\n view: TableProps['view'];\n cell: CellType<TableRowData, unknown>;\n borderVariant: TableProps['borderVariant'];\n selected: boolean;\n table: Table<TableRowData>;\n};\n\nexport const EditableCell: React.FC<Props> = ({ size, view, cell, borderVariant, table, selected }) => {\n const [value, setValue] = useState<string>(cell.getValue() as string);\n const [editingMode, setEditingMode] = useState(false);\n\n const updateData = table.options.meta?.updateData;\n\n const ref = useRef<HTMLTableCellElement>(null);\n\n useOutsideClick(() => {\n setEditingMode(false);\n }, [ref]);\n\n const handleEditClick = (e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation();\n\n setEditingMode(true);\n setValue(cell.getValue() as string);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => setValue(e.target.value);\n\n const handleReset = () => {\n setValue(cell.getValue() as string);\n };\n\n const handleSubmit = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n\n if (updateData) {\n updateData(cell.row.id, cell.column.id, value);\n }\n setEditingMode(false);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n switch (event.code) {\n case keys.Enter: {\n if (updateData) {\n updateData(cell.row.id, cell.column.id, value);\n }\n\n setEditingMode(false);\n\n break;\n }\n\n case keys.Escape:\n case keys.Tab: {\n setEditingMode(false);\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return (\n <Td\n key={cell.id}\n borderVariant={borderVariant}\n selectionCell={cell.column.id === SELECT_COLUMN_ID}\n onClick={handleEditClick}\n editingMode={editingMode}\n selected={selected}\n view={view}\n ref={ref}\n >\n <InnerWrapper>\n {editingMode ? (\n <EditModeWrapper>\n <InputWrapper>\n {/* eslint-disable-next-line jsx-a11y/no-autofocus */}\n <Input value={value} onChange={handleChange} autoFocus onKeyDown={handleKeyDown} />\n\n <IconResetButton onClick={handleReset} tabIndex={-1}>\n <IconResetOutline size={getIconSize(size)} />\n </IconResetButton>\n </InputWrapper>\n\n <IconDoneButton onClick={handleSubmit} tabIndex={-1}>\n <IconDoneCircleOutline size={getIconSize(size)} />\n </IconDoneButton>\n </EditModeWrapper>\n ) : (\n <ContentWrapper>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n\n <IconEditOutline size=\"xs\" className={classes.editIcon} color=\"var(--text-secondary)\" />\n </ContentWrapper>\n )}\n </InnerWrapper>\n\n {cell.column.getIsResizing() && <Resizer isResizing />}\n </Td>\n );\n};\n"],"names":["keys","Enter","Tab","Escape","EditableCell","_ref","_table$options$meta","size","view","cell","borderVariant","table","selected","_useState","useState","getValue","_useState2","_slicedToArray","value","setValue","_useState3","_useState4","editingMode","setEditingMode","updateData","options","meta","ref","useRef","useOutsideClick","handleEditClick","e","stopPropagation","handleChange","target","handleReset","handleSubmit","row","id","column","handleKeyDown","event","code","React","createElement","Td","key","selectionCell","SELECT_COLUMN_ID","onClick","InnerWrapper","EditModeWrapper","InputWrapper","Input","onChange","autoFocus","onKeyDown","IconResetButton","tabIndex","IconResetOutline","getIconSize","IconDoneButton","IconDoneCircleOutline","ContentWrapper","flexRender","columnDef","getContext","IconEditOutline","className","classes","editIcon","color","getIsResizing","_Resizer","Resizer","isResizing"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAMA,IAAI,GAAG;AACTC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE,QAAA;AACZ,CAAC,CAAA;IAWYC,YAA6B,GAAG,SAAhCA,YAA6BA,CAAAC,IAAA,EAA6D;AAAA,EAAA,IAAAC,mBAAA,CAAA;AAAA,EAAA,IAAvDC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IAAEC,aAAa,GAAAL,IAAA,CAAbK,aAAa;IAAEC,KAAK,GAAAN,IAAA,CAALM,KAAK;IAAEC,QAAQ,GAAAP,IAAA,CAARO,QAAQ,CAAA;EAC5F,IAAAC,SAAA,GAA0BC,QAAQ,CAASL,IAAI,CAACM,QAAQ,EAAY,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAA9DK,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAI,UAAA,GAAsCN,QAAQ,CAAC,KAAK,CAAC;IAAAO,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,EAAA,IAAMG,UAAU,GAAA,CAAAlB,mBAAA,GAAGK,KAAK,CAACc,OAAO,CAACC,IAAI,MAAApB,IAAAA,IAAAA,mBAAA,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAoBkB,UAAU,CAAA;AAEjD,EAAA,IAAMG,GAAG,GAAGC,MAAM,CAAuB,IAAI,CAAC,CAAA;AAE9CC,EAAAA,eAAe,CAAC,YAAM;IAClBN,cAAc,CAAC,KAAK,CAAC,CAAA;AACzB,GAAC,EAAE,CAACI,GAAG,CAAC,CAAC,CAAA;AAET,EAAA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAoC,EAAK;IAC9DA,CAAC,CAACC,eAAe,EAAE,CAAA;IAEnBT,cAAc,CAAC,IAAI,CAAC,CAAA;AACpBJ,IAAAA,QAAQ,CAACV,IAAI,CAACM,QAAQ,EAAY,CAAC,CAAA;GACtC,CAAA;AAED,EAAA,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,CAAIF,CAAsC,EAAA;AAAA,IAAA,OAAKZ,QAAQ,CAACY,CAAC,CAACG,MAAM,CAAChB,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAEzF,EAAA,IAAMiB,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACtBhB,IAAAA,QAAQ,CAACV,IAAI,CAACM,QAAQ,EAAY,CAAC,CAAA;GACtC,CAAA;AAED,EAAA,IAAMqB,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAAsC,EAAK;IAC7DA,CAAC,CAACC,eAAe,EAAE,CAAA;AAEnB,IAAA,IAAIR,UAAU,EAAE;AACZA,MAAAA,UAAU,CAACf,IAAI,CAAC4B,GAAG,CAACC,EAAE,EAAE7B,IAAI,CAAC8B,MAAM,CAACD,EAAE,EAAEpB,KAAK,CAAC,CAAA;AAClD,KAAA;IACAK,cAAc,CAAC,KAAK,CAAC,CAAA;GACxB,CAAA;AAED,EAAA,IAAMiB,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAA0C,EAAK;IAClE,QAAQA,KAAK,CAACC,IAAI;MACd,KAAK1C,IAAI,CAACC,KAAK;AAAE,QAAA;AACb,UAAA,IAAIuB,UAAU,EAAE;AACZA,YAAAA,UAAU,CAACf,IAAI,CAAC4B,GAAG,CAACC,EAAE,EAAE7B,IAAI,CAAC8B,MAAM,CAACD,EAAE,EAAEpB,KAAK,CAAC,CAAA;AAClD,WAAA;UAEAK,cAAc,CAAC,KAAK,CAAC,CAAA;AAErB,UAAA,MAAA;AACJ,SAAA;MAEA,KAAKvB,IAAI,CAACG,MAAM,CAAA;MAChB,KAAKH,IAAI,CAACE,GAAG;AAAE,QAAA;UACXqB,cAAc,CAAC,KAAK,CAAC,CAAA;AAErB,UAAA,MAAA;AACJ,SAAA;AAKJ,KAAA;GACH,CAAA;AAED,EAAA,oBACIoB,KAAA,CAAAC,aAAA,CAACC,EAAE,EAAA;IACCC,GAAG,EAAErC,IAAI,CAAC6B,EAAG;AACb5B,IAAAA,aAAa,EAAEA,aAAc;AAC7BqC,IAAAA,aAAa,EAAEtC,IAAI,CAAC8B,MAAM,CAACD,EAAE,KAAKU,gBAAiB;AACnDC,IAAAA,OAAO,EAAEnB,eAAgB;AACzBR,IAAAA,WAAW,EAAEA,WAAY;AACzBV,IAAAA,QAAQ,EAAEA,QAAS;AACnBJ,IAAAA,IAAI,EAAEA,IAAK;AACXmB,IAAAA,GAAG,EAAEA,GAAAA;GAELgB,eAAAA,KAAA,CAAAC,aAAA,CAACM,YAAY,QACR5B,WAAW,gBACRqB,KAAA,CAAAC,aAAA,CAACO,eAAe,EACZR,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACQ,YAAY,qBAETT,KAAA,CAAAC,aAAA,CAACS,KAAK,EAAA;AAACnC,IAAAA,KAAK,EAAEA,KAAM;AAACoC,IAAAA,QAAQ,EAAErB,YAAa;IAACsB,SAAS,EAAA,IAAA;AAACC,IAAAA,SAAS,EAAEhB,aAAAA;AAAc,GAAE,CAAC,eAEnFG,KAAA,CAAAC,aAAA,CAACa,eAAe,EAAA;AAACR,IAAAA,OAAO,EAAEd,WAAY;AAACuB,IAAAA,QAAQ,EAAE,CAAC,CAAA;AAAE,GAAA,eAChDf,KAAA,CAAAC,aAAA,CAACe,gBAAgB,EAAA;IAACpD,IAAI,EAAEqD,WAAW,CAACrD,IAAI,CAAA;GAAI,CAC/B,CACP,CAAC,eAEfoC,KAAA,CAAAC,aAAA,CAACiB,cAAc,EAAA;AAACZ,IAAAA,OAAO,EAAEb,YAAa;AAACsB,IAAAA,QAAQ,EAAE,CAAC,CAAA;AAAE,GAAA,eAChDf,KAAA,CAAAC,aAAA,CAACkB,qBAAqB,EAAA;IAACvD,IAAI,EAAEqD,WAAW,CAACrD,IAAI,CAAA;AAAE,GAAE,CACrC,CACH,CAAC,gBAElBoC,KAAA,CAAAC,aAAA,CAACmB,cAAc,EAAA,IAAA,EACVC,UAAU,CAACvD,IAAI,CAAC8B,MAAM,CAAC0B,SAAS,CAACxD,IAAI,EAAEA,IAAI,CAACyD,UAAU,EAAE,CAAC,eAE1DvB,KAAA,CAAAC,aAAA,CAACuB,eAAe,EAAA;AAAC5D,IAAAA,IAAI,EAAC,IAAI;IAAC6D,SAAS,EAAEC,OAAO,CAACC,QAAS;AAACC,IAAAA,KAAK,EAAC,uBAAA;GAAyB,CAC3E,CAEV,CAAC,EAEd9D,IAAI,CAAC8B,MAAM,CAACiC,aAAa,EAAE,KAAAC,QAAA,KAAAA,QAAA,gBAAI9B,KAAA,CAAAC,aAAA,CAAC8B,OAAO,EAAA;IAACC,UAAU,EAAA,IAAA;GAAE,CAAC,EACtD,CAAC,CAAA;AAEb;;;;"}
@@ -1,7 +1,7 @@
1
1
  import './TextArea_c31ipk.css';
2
2
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
3
3
  import React, { forwardRef, useState, useRef, useLayoutEffect, useCallback, createRef } from 'react';
4
- import { useForkRef, useResizeObserver } from '@salutejs/plasma-core';
4
+ import { useResizeObserver } from '@salutejs/plasma-core';
5
5
  import { cx } from '../../utils/index.js';
6
6
  import { OuterLabelWrapper, StyledIndicatorWrapper, StyledLabel, StyledHintWrapper, StyledIndicator, TitleCaption, StyledContainer, StyledTextAreaWrapper, StyledHeaderSlot, StyledContent, StyledContentWrapper, StyledPlaceholder, StyledTextArea, StyledHiddenTextArea, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledOutsideHelpersWrapper, StyledOptionalText } from './TextArea.styles.js';
7
7
  import { classes } from './TextArea.tokens.js';
@@ -141,11 +141,10 @@ var textAreaRoot = function textAreaRoot(Root) {
141
141
  setUncontrolledValue = _useState8[1];
142
142
  var outerRef = /*#__PURE__*/createRef();
143
143
  var hiddenRef = useRef(null);
144
- var hintRef = useOutsideClick(function () {
144
+ var hintRef = useRef(null);
145
+ useOutsideClick(function () {
145
146
  setIsHintVisible(false);
146
- });
147
- var hintInnerRef = useRef(null);
148
- var hintForkRef = useForkRef(hintRef, hintInnerRef);
147
+ }, [hintRef]);
149
148
  var isInnerLeftHelperPlacement = leftHelperPlacement === 'inner';
150
149
  var leftHelperText = leftHelper || helperText;
151
150
  var innerOptional = required ? false : optional;
@@ -173,13 +172,13 @@ var textAreaRoot = function textAreaRoot(Root) {
173
172
  return setIsHintVisible(false);
174
173
  };
175
174
  var handleHintClick = function handleHintClick(event) {
176
- var _hintInnerRef$current;
175
+ var _hintRef$current;
177
176
  if (!hintText || hintTrigger !== 'click') {
178
177
  return;
179
178
  }
180
179
  event.stopPropagation();
181
- var targetIsPopover = event.target === hintInnerRef.current;
182
- var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
180
+ var targetIsPopover = event.target === hintRef.current;
181
+ var rootHasTarget = (_hintRef$current = hintRef.current) === null || _hintRef$current === void 0 ? void 0 : _hintRef$current.contains(event.target);
183
182
  if (!targetIsPopover && !rootHasTarget) {
184
183
  setIsHintVisible(true);
185
184
  }
@@ -249,7 +248,7 @@ var textAreaRoot = function textAreaRoot(Root) {
249
248
  }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicatorWrapper, null, /*#__PURE__*/React.createElement(StyledLabel, {
250
249
  "aria-hidden": labelAriaHidden
251
250
  }, label), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, null, /*#__PURE__*/React.createElement(HintComponent, {
252
- ref: hintForkRef,
251
+ ref: hintRef,
253
252
  hintText: hintText,
254
253
  hintTrigger: hintTrigger,
255
254
  isHintVisible: isHintVisible,
@@ -274,7 +273,7 @@ var textAreaRoot = function textAreaRoot(Root) {
274
273
  }), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, {
275
274
  className: classes.innerLabelPlacement
276
275
  }, /*#__PURE__*/React.createElement(HintComponent, {
277
- ref: hintForkRef,
276
+ ref: hintRef,
278
277
  hintText: hintText,
279
278
  hintTrigger: hintTrigger,
280
279
  isHintVisible: isHintVisible,
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback, useRef, MouseEventHandler, useLayoutEffect } 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 StyledOutsideHelpersWrapper,\n StyledHiddenTextArea,\n StyledContentWrapper,\n StyledHeaderSlot,\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 readOnlyCSS } from './variations/_read-only/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 hasHeaderSlot,\n styledContentWrapper,\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 headerSlot,\n rightHelper,\n leftHelper,\n leftHelperPlacement = 'inner',\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 hasRequiredIndicator = true,\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 labelAriaHidden = false,\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 // TODO: перенести в общую переменную для value снаружи и внутри\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n const hiddenRef = useRef<HTMLTextAreaElement | null>(null);\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 isInnerLeftHelperPlacement = leftHelperPlacement === 'inner';\n const leftHelperText = leftHelper || helperText;\n const innerOptional = required ? false : optional;\n const hasLeftHelper = Boolean(leftHelper || helperText);\n const hasRightHelper = Boolean(rightHelper);\n const hasHelper = !isInnerLeftHelperPlacement ? hasRightHelper : hasLeftHelper || hasRightHelper;\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n const hasHeader = Boolean(headerSlot) && !clear;\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 const applyAutoResize = autoResize || Boolean(clear);\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 useLayoutEffect(() => {\n if (outerRef.current) {\n setUncontrolledValue(outerRef.current.value);\n }\n }, [outerRef]);\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(applyAutoResize, outerRef, value || uncontrolledValue, minAuto, maxAuto, resize, hiddenRef);\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.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n labelAriaHidden,\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 style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n data-root\n {...(hintText && {\n hintView,\n hintSize,\n })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper width={helperWidth} isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel aria-hidden={labelAriaHidden}>{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 && hasRequiredIndicator && (\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 && hasRequiredIndicator && (\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 size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n <StyledTextAreaWrapper\n className={cx(styledTextAreaWrapper, hasHeader && hasHeaderSlot)}\n hasHelper={hasHelper}\n hasHeader={hasHeader}\n >\n {headerSlot && !clear && <StyledHeaderSlot>{headerSlot}</StyledHeaderSlot>}\n\n {contentRight && !hasHeader && <StyledContent>{contentRight}</StyledContent>}\n\n {hasHeader && (\n <StyledContentWrapper className={styledContentWrapper} hasHeader={hasHeader}>\n {contentRight && <StyledContent hasHeader={hasHeader}>{contentRight}</StyledContent>}\n {headerSlot && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContentWrapper>\n )}\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 required={required}\n height={applyAutoResize ? 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 data-tour\n {...rest}\n />\n {applyAutoResize && (\n <StyledHiddenTextArea\n aria-hidden\n ref={hiddenRef}\n hasContentRight={Boolean(contentRight)}\n value={value || uncontrolledValue || ' '}\n defaultValue={defaultValue}\n />\n )}\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {isInnerLeftHelperPlacement && (leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper data-root>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {!hasHeader && 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 {hasLeftHelper && !isInnerLeftHelperPlacement && (\n <StyledOutsideHelpersWrapper id={textareaHelperId}>\n <StyledLeftHelper>{leftHelperText}</StyledLeftHelper>\n </StyledOutsideHelpersWrapper>\n )}\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\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","hasHeaderSlot","styledContentWrapper","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","headerSlot","rightHelper","leftHelper","_props$leftHelperPlac","leftHelperPlacement","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$hasRequiredInd","hasRequiredIndicator","_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","_props$labelAriaHidde","labelAriaHidden","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hiddenRef","useRef","hintRef","useOutsideClick","hintInnerRef","hintForkRef","useForkRef","isInnerLeftHelperPlacement","leftHelperText","innerOptional","hasLeftHelper","Boolean","hasRightHelper","hasHelper","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","hasHeader","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","applyAutoResize","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintInnerRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useLayoutEffect","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","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","StyledTextAreaWrapper","StyledHeaderSlot","StyledContent","StyledContentWrapper","StyledPlaceholder","hasContentRight","htmlFor","StyledTextArea","mergeRefs","StyledHiddenTextArea","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledOutsideHelpersWrapper","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","readOnlyCSS","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, useLayoutEffect } from 'react';\nimport { css } from '@linaria/core';\nimport { 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 StyledOutsideHelpersWrapper,\n StyledHiddenTextArea,\n StyledContentWrapper,\n StyledHeaderSlot,\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 readOnlyCSS } from './variations/_read-only/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 hasHeaderSlot,\n styledContentWrapper,\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 headerSlot,\n rightHelper,\n leftHelper,\n leftHelperPlacement = 'inner',\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 hasRequiredIndicator = true,\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 labelAriaHidden = false,\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 // TODO: перенести в общую переменную для value снаружи и внутри\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n const hiddenRef = useRef<HTMLTextAreaElement | null>(null);\n const hintRef = useRef<HTMLDivElement>(null);\n\n useOutsideClick(() => {\n setIsHintVisible(false);\n }, [hintRef]);\n\n const isInnerLeftHelperPlacement = leftHelperPlacement === 'inner';\n const leftHelperText = leftHelper || helperText;\n const innerOptional = required ? false : optional;\n const hasLeftHelper = Boolean(leftHelper || helperText);\n const hasRightHelper = Boolean(rightHelper);\n const hasHelper = !isInnerLeftHelperPlacement ? hasRightHelper : hasLeftHelper || hasRightHelper;\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n const hasHeader = Boolean(headerSlot) && !clear;\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 const applyAutoResize = autoResize || Boolean(clear);\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 === hintRef.current;\n const rootHasTarget = hintRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\n };\n\n useLayoutEffect(() => {\n if (outerRef.current) {\n setUncontrolledValue(outerRef.current.value);\n }\n }, [outerRef]);\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(applyAutoResize, outerRef, value || uncontrolledValue, minAuto, maxAuto, resize, hiddenRef);\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.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n labelAriaHidden,\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 style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, hasHintClass, className)}\n onClick={handleTextAreaFocus}\n data-root\n {...(hintText && {\n hintView,\n hintSize,\n })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper width={helperWidth} isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <StyledLabel aria-hidden={labelAriaHidden}>{label}</StyledLabel>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintRef}\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 && hasRequiredIndicator && (\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 && hasRequiredIndicator && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintRef}\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 size={size}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n isInnerLabel\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n <StyledTextAreaWrapper\n className={cx(styledTextAreaWrapper, hasHeader && hasHeaderSlot)}\n hasHelper={hasHelper}\n hasHeader={hasHeader}\n >\n {headerSlot && !clear && <StyledHeaderSlot>{headerSlot}</StyledHeaderSlot>}\n\n {contentRight && !hasHeader && <StyledContent>{contentRight}</StyledContent>}\n\n {hasHeader && (\n <StyledContentWrapper className={styledContentWrapper} hasHeader={hasHeader}>\n {contentRight && <StyledContent hasHeader={hasHeader}>{contentRight}</StyledContent>}\n {headerSlot && placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContentWrapper>\n )}\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 required={required}\n height={applyAutoResize ? 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 data-tour\n {...rest}\n />\n {applyAutoResize && (\n <StyledHiddenTextArea\n aria-hidden\n ref={hiddenRef}\n hasContentRight={Boolean(contentRight)}\n value={value || uncontrolledValue || ' '}\n defaultValue={defaultValue}\n />\n )}\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {isInnerLeftHelperPlacement && (leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper data-root>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {!hasHeader && 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 {hasLeftHelper && !isInnerLeftHelperPlacement && (\n <StyledOutsideHelpersWrapper id={textareaHelperId}>\n <StyledLeftHelper>{leftHelperText}</StyledLeftHelper>\n </StyledOutsideHelpersWrapper>\n )}\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 readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\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","hasHeaderSlot","styledContentWrapper","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","headerSlot","rightHelper","leftHelper","_props$leftHelperPlac","leftHelperPlacement","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","titleCaption","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$hasRequiredInd","hasRequiredIndicator","_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","_props$labelAriaHidde","labelAriaHidden","onChange","rest","_excluded","_useState","useState","_useState2","_slicedToArray","isHintVisible","setIsHintVisible","_useState3","concat","_useState4","helperWidth","setHelperWidth","_useState5","_useState6","setFocused","_useState7","_useState8","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hiddenRef","useRef","hintRef","useOutsideClick","isInnerLeftHelperPlacement","leftHelperText","innerOptional","hasLeftHelper","Boolean","hasRightHelper","hasHelper","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","hasHeader","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","applyAutoResize","clearClass","hasHintClass","hasHint","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","requiredAlignRight","handleHintShow","handleHintHide","handleHintClick","event","_hintRef$current","stopPropagation","targetIsPopover","target","current","rootHasTarget","contains","useLayoutEffect","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","handleTextAreaFocus","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","StyledTextAreaWrapper","StyledHeaderSlot","StyledContent","StyledContentWrapper","StyledPlaceholder","hasContentRight","htmlFor","StyledTextArea","mergeRefs","StyledHiddenTextArea","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledOutsideHelpersWrapper","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","readOnlyCSS","disabledCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":"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"}
@@ -101,6 +101,7 @@ var textFieldRoot = function textFieldRoot(Root) {
101
101
  var inputRef = useRef(null);
102
102
  var inputForkRef = useForkRef(inputRef, ref);
103
103
  var chipsRefs = useRef([]);
104
+ var hintRef = useRef(null);
104
105
  var controlledRefs = {
105
106
  contentRef: contentRef,
106
107
  inputRef: inputRef,
@@ -159,9 +160,9 @@ var textFieldRoot = function textFieldRoot(Root) {
159
160
  var wrapperWithoutLeftContent = !contentLeft && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentLeft : undefined;
160
161
  var wrapperWithoutRightContent = !contentRight && isChipsVisible && chipType === 'default' ? classes.hasEmptyContentRight : undefined;
161
162
  var contentRightCompensationMargin = !hasOuterLabel && hintText && hintTargetPlacement === 'inner' ? classes.contentRightCompensationMargin : undefined;
162
- var hintRef = useOutsideClick(function () {
163
+ useOutsideClick(function () {
163
164
  setIsHintVisible(false);
164
- });
165
+ }, [hintRef]);
165
166
  var hintInnerRef = useRef(null);
166
167
  var hintForkRef = useForkRef(hintRef, hintInnerRef);
167
168
  var handleInput = function handleInput(event) {