@salutejs/plasma-new-hope 0.141.0-canary.1422.10775243587.0 → 0.141.0-canary.1425.10772606706.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  3. package/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  4. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  5. package/cjs/components/TextField/TextField.js +4 -4
  6. package/cjs/components/TextField/TextField.js.map +1 -1
  7. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  8. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  9. package/emotion/cjs/components/TextField/TextField.js +5 -5
  10. package/emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  11. package/{styled-components/cjs/examples/plasma_b2c/components/Combobox → emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  12. package/emotion/{es/examples/plasma_b2c/components/Combobox → cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  13. package/emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.config.js +25 -0
  14. package/emotion/cjs/examples/{plasma_web/components/Combobox/Legacy → plasma_b2c/components/Combobox/ComboboxOld}/Combobox.stories.tsx +16 -18
  15. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +30 -15
  16. package/emotion/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  17. package/emotion/cjs/examples/plasma_web/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  18. package/emotion/{es/examples/plasma_web/components/Combobox → cjs/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  19. package/emotion/cjs/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.config.js +25 -0
  20. package/emotion/cjs/examples/{plasma_b2c/components/Combobox/Legacy → plasma_web/components/Combobox/ComboboxOld}/Combobox.stories.tsx +16 -18
  21. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +30 -15
  22. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  23. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  24. package/emotion/es/components/TextField/TextField.js +5 -5
  25. package/emotion/es/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  26. package/emotion/es/examples/plasma_b2c/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  27. package/emotion/{cjs/examples/plasma_web/components/Combobox → es/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  28. package/emotion/es/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.config.js +19 -0
  29. package/emotion/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.stories.tsx +16 -18
  30. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +30 -15
  31. package/emotion/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  32. package/{styled-components/es/examples/plasma_b2c/components/Combobox → emotion/es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  33. package/emotion/{cjs/examples/plasma_b2c/components/Combobox → es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  34. package/emotion/es/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.config.js +19 -0
  35. package/emotion/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.stories.tsx +16 -18
  36. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +30 -15
  37. package/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  38. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  39. package/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  40. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  41. package/es/components/TextField/TextField.js +4 -4
  42. package/es/components/TextField/TextField.js.map +1 -1
  43. package/package.json +2 -2
  44. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  45. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  46. package/styled-components/cjs/components/TextField/TextField.js +4 -4
  47. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/{Combobox.config.js → ComboboxNew/Combobox.config.js} +2 -2
  48. package/{emotion/cjs/examples/plasma_b2c/components/Combobox → styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  49. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  50. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  51. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  52. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +30 -15
  53. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  54. package/styled-components/cjs/examples/plasma_web/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  55. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  56. package/styled-components/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  57. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  58. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +30 -15
  59. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  60. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  61. package/styled-components/es/components/TextField/TextField.js +4 -4
  62. package/styled-components/es/examples/plasma_b2c/components/Combobox/{Combobox.config.js → ComboboxNew/Combobox.config.js} +2 -2
  63. package/styled-components/es/examples/{plasma_web/components/Combobox → plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  64. package/styled-components/es/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  65. package/styled-components/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  66. package/styled-components/es/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  67. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +30 -15
  68. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  69. package/{emotion/es/examples/plasma_web/components/Combobox → styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  70. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  71. package/styled-components/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  72. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  73. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +30 -15
  74. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  75. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +1 -5
  76. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  77. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  78. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +0 -6
  79. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
  80. package/types/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.d.ts.map +1 -0
  81. package/types/examples/plasma_b2c/components/Combobox/{Combobox.d.ts → ComboboxNew/Combobox.d.ts} +3 -3
  82. package/types/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -0
  83. package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts.map +1 -1
  84. package/types/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -0
  85. package/types/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.d.ts.map +1 -0
  86. package/types/examples/plasma_web/components/Combobox/{Combobox.d.ts → ComboboxNew/Combobox.d.ts} +3 -3
  87. package/types/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -0
  88. package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts.map +1 -1
  89. package/types/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -0
  90. package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +0 -347
  91. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -39
  92. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Legacy/Combobox.config.js +0 -25
  93. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +0 -39
  94. package/emotion/cjs/examples/plasma_web/components/Combobox/Legacy/Combobox.config.js +0 -25
  95. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +0 -347
  96. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -33
  97. package/emotion/es/examples/plasma_b2c/components/Combobox/Legacy/Combobox.config.js +0 -19
  98. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +0 -33
  99. package/emotion/es/examples/plasma_web/components/Combobox/Legacy/Combobox.config.js +0 -19
  100. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +0 -347
  101. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -368
  102. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  103. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +0 -39
  104. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -368
  105. package/styled-components/cjs/examples/plasma_web/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  106. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +0 -347
  107. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -368
  108. package/styled-components/es/examples/plasma_b2c/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  109. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.config.js +0 -33
  110. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -368
  111. package/styled-components/es/examples/plasma_web/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  112. package/types/examples/plasma_b2c/components/Combobox/Combobox.config.d.ts.map +0 -1
  113. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +0 -1
  114. package/types/examples/plasma_b2c/components/Combobox/Legacy/Combobox.d.ts.map +0 -1
  115. package/types/examples/plasma_web/components/Combobox/Combobox.config.d.ts.map +0 -1
  116. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +0 -1
  117. package/types/examples/plasma_web/components/Combobox/Legacy/Combobox.d.ts.map +0 -1
  118. /package/emotion/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  119. /package/emotion/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  120. /package/emotion/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  121. /package/emotion/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  122. /package/styled-components/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  123. /package/styled-components/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  124. /package/styled-components/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  125. /package/styled-components/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  126. /package/types/examples/plasma_b2c/components/Combobox/{Combobox.config.d.ts → ComboboxNew/Combobox.config.d.ts} +0 -0
  127. /package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts +0 -0
  128. /package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.d.ts +0 -0
  129. /package/types/examples/plasma_web/components/Combobox/{Combobox.config.d.ts → ComboboxNew/Combobox.config.d.ts} +0 -0
  130. /package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts +0 -0
  131. /package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.d.ts +0 -0
@@ -23,7 +23,7 @@ import { IconArrowWrapper, StyledArrow, Ul, StyledEmptyState, base } from './Com
23
23
  import { base as base$1 } from './variations/_view/base.js';
24
24
  import { base as base$2 } from './variations/_size/base.js';
25
25
 
26
- var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect"];
26
+ var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "filter", "closeAfterSelect"];
27
27
  var Context = /*#__PURE__*/createContext({});
28
28
 
29
29
  /**
@@ -59,8 +59,6 @@ var comboboxRoot = function comboboxRoot(Root) {
59
59
  readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
60
60
  _props$disabled = props.disabled,
61
61
  disabled = _props$disabled === void 0 ? false : _props$disabled,
62
- _props$alwaysOpened = props.alwaysOpened,
63
- alwaysOpened = _props$alwaysOpened === void 0 ? false : _props$alwaysOpened,
64
62
  filter = props.filter,
65
63
  outerCloseAfterSelect = props.closeAfterSelect,
66
64
  rest = _objectWithoutProperties(props, _excluded);
@@ -110,7 +108,7 @@ var comboboxRoot = function comboboxRoot(Root) {
110
108
  _useState6 = _slicedToArray(_useState5, 2),
111
109
  checked = _useState6[0],
112
110
  setChecked = _useState6[1];
113
- var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
111
+ var isCurrentListOpen = Boolean(path[0]);
114
112
  var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
115
113
  var withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;
116
114
  var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !multiple;
@@ -220,7 +218,7 @@ var comboboxRoot = function comboboxRoot(Root) {
220
218
  newValues.push(item.value);
221
219
  }
222
220
  });
223
- if (!alwaysOpened && closeAfterSelect) {
221
+ if (closeAfterSelect) {
224
222
  dispatchPath({
225
223
  type: 'reset'
226
224
  });
@@ -265,7 +263,7 @@ var comboboxRoot = function comboboxRoot(Root) {
265
263
  updateSingleAncestors(item, checkedCopy, 'dot');
266
264
  }
267
265
  setTextValue(isCurrentChecked ? '' : item.label);
268
- if (!alwaysOpened && closeAfterSelect) {
266
+ if (closeAfterSelect) {
269
267
  dispatchPath({
270
268
  type: 'reset'
271
269
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n isTargetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n ...rest\n } = props;\n const [textValue, setTextValue] = useState('');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue || internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(items), [items]);\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n setTextValue(isCurrentChecked ? '' : item.label);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${value.length}`];\n }\n\n return (value as []).map((value) => valueToItemMap.get(value)!.label);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","valueToCheckedMap","valueToItemMap","labelToItemMap","filteredItems","filterItems","get","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","undefined","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get2","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","_","updateSingleAncestors","getChips","length","concat","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","Array","isArray","val","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n isTargetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n ...rest\n } = props;\n const [textValue, setTextValue] = useState('');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value = outerValue || internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(items), [items]);\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n setTextValue(isCurrentChecked ? '' : item.label);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${value.length}`];\n }\n\n return (value as []).map((value) => valueToItemMap.get(value)!.label);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n multiselect: multiple,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","filter","outerCloseAfterSelect","closeAfterSelect","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","valueToCheckedMap","valueToItemMap","labelToItemMap","filteredItems","filterItems","get","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","undefined","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get2","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","_","updateSingleAncestors","getChips","length","concat","handlePressDown","_useKeyNavigation","useKeyNavigation","multiselect","onKeyDown","useLayoutEffect","Array","isArray","val","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","index","Inner","currentLevel","comboboxConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -18,7 +18,7 @@ import { ComboboxTarget } from './ui/ComboboxTarget/ComboboxTarget.js';
18
18
  import { StyledRoot, StyledNativeSelect, StyledPopover, StyledCombobox, ComboboxItemNotFound } from './Combobox.styles.js';
19
19
  import { getPlacements } from '../../../utils/getPopoverPlacement.js';
20
20
 
21
- var _excluded = ["name", "form", "readOnly", "disabled", "label", "placeholder", "id", "children", "role", "view", "size", "frame", "usePortal", "negativeResultContent", "enumerationType", "opened", "alwaysOpened", "placement", "onToggle", "onKeyDown", "filterFunction"];
21
+ var _excluded = ["name", "form", "readOnly", "disabled", "label", "placeholder", "id", "children", "role", "view", "size", "frame", "usePortal", "negativeResultContent", "enumerationType", "opened", "placement", "onToggle", "onKeyDown", "filterFunction"];
22
22
  /**
23
23
  * Выпадающий список без внешнего контроля видимости.
24
24
  */
@@ -44,8 +44,6 @@ var comboboxRoot = function comboboxRoot(Root) {
44
44
  enumerationType = _ref$enumerationType === void 0 ? 'comma' : _ref$enumerationType,
45
45
  _ref$opened = _ref.opened,
46
46
  opened = _ref$opened === void 0 ? false : _ref$opened,
47
- _ref$alwaysOpened = _ref.alwaysOpened,
48
- alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
49
47
  _ref$placement = _ref.placement,
50
48
  placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,
51
49
  onToggle = _ref.onToggle,
@@ -76,7 +74,7 @@ var comboboxRoot = function comboboxRoot(Root) {
76
74
  itemsRefs: itemsRefs,
77
75
  inputRef: inputRef
78
76
  };
79
- var _useState3 = useState(alwaysOpened || opened),
77
+ var _useState3 = useState(opened),
80
78
  _useState4 = _slicedToArray(_useState3, 2),
81
79
  isVisible = _useState4[0],
82
80
  setIsVisible = _useState4[1];
@@ -102,11 +100,11 @@ var comboboxRoot = function comboboxRoot(Root) {
102
100
  if (disabled || readOnly) {
103
101
  return;
104
102
  }
105
- setIsVisible(alwaysOpened || opened);
106
- }, [opened, alwaysOpened, disabled, readOnly]);
103
+ setIsVisible(opened);
104
+ }, [opened, disabled, readOnly]);
107
105
  useEffect(function () {
108
106
  // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список
109
- if (alwaysOpened || opened) {
107
+ if (opened) {
110
108
  setFilterValue('');
111
109
  }
112
110
  }, []);
@@ -120,10 +118,10 @@ var comboboxRoot = function comboboxRoot(Root) {
120
118
  setFilterValue('');
121
119
  }
122
120
  if (onToggle) {
123
- onToggle(alwaysOpened || openValue, event);
121
+ onToggle(openValue, event);
124
122
  return;
125
123
  }
126
- setIsVisible(alwaysOpened || openValue);
124
+ setIsVisible(openValue);
127
125
  };
128
126
  var closedWithoutChanges = useRef(true);
129
127
  var updateValue = function updateValue(item, event) {
@@ -137,7 +135,7 @@ var comboboxRoot = function comboboxRoot(Root) {
137
135
  }
138
136
  var newSelected = getNewSelected(rest.value, newValue, 'single');
139
137
  (_rest$onChangeValue2 = rest.onChangeValue) === null || _rest$onChangeValue2 === void 0 || _rest$onChangeValue2.call(rest, newSelected);
140
- onInnerToggle === null || onInnerToggle === void 0 || onInnerToggle(alwaysOpened || false, event);
138
+ onInnerToggle === null || onInnerToggle === void 0 || onInnerToggle(false, event);
141
139
  closedWithoutChanges.current = false;
142
140
  };
143
141
  var onClickChildrenItem = function onClickChildrenItem(event) {
@@ -181,11 +179,6 @@ var comboboxRoot = function comboboxRoot(Root) {
181
179
  onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);
182
180
  onKeyDownTarget(event);
183
181
  };
184
- useEffect(function () {
185
- if (alwaysOpened && rest.valueType === 'single') {
186
- setSearch(String(value));
187
- }
188
- }, [value, alwaysOpened]);
189
182
  return /*#__PURE__*/React.createElement(StyledRoot, {
190
183
  ref: comboboxRef
191
184
  }, /*#__PURE__*/React.createElement(StyledNativeSelect, {
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxOld/Combobox.tsx"],"sourcesContent":["import React, { Children, forwardRef, useEffect, useRef, useState } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { useDidMountEffect, useForceUpdate } from '../../../hooks';\n\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { useKeyNavigation } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { ComboboxTarget } from './ui';\nimport { ComboboxItemNotFound, StyledPopover, StyledRoot, StyledCombobox, StyledNativeSelect } from './Combobox.styles';\nimport type { ComboboxPrimitiveValue, ComboboxProps } from './Combobox.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, ComboboxProps>) =>\n forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n placeholder,\n id,\n children,\n role,\n view,\n size,\n frame,\n usePortal,\n negativeResultContent = 'Элементы не найдены',\n enumerationType = 'comma',\n opened = false,\n alwaysOpened = false,\n placement = 'bottom',\n onToggle,\n onKeyDown,\n filterFunction,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLInputElement | null>(null);\n\n const targetRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const comboboxRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef<HTMLInputElement>(targetRef, outerRootRef);\n const controlledRefs = { targetRef, chipsRefs, selectRef: comboboxRef, itemsRefs, inputRef };\n\n const [isVisible, setIsVisible] = useState(alwaysOpened || opened);\n const [search, setSearch] = useState<string | undefined>('');\n const [filterValue, setFilterValue] = useState(search);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setIsVisible(alwaysOpened || opened);\n }, [opened, alwaysOpened, disabled, readOnly]);\n\n useEffect(() => {\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (alwaysOpened || opened) {\n setFilterValue('');\n }\n }, []);\n\n const onInnerToggle = (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (!isVisible) {\n setFilterValue('');\n }\n\n if (onToggle) {\n onToggle(alwaysOpened || openValue, event);\n\n return;\n }\n\n setIsVisible(alwaysOpened || openValue);\n };\n\n const closedWithoutChanges = useRef(true);\n\n const updateValue = (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(alwaysOpened || false, event);\n\n closedWithoutChanges.current = false;\n };\n\n const onClickChildrenItem = (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n };\n\n const onChangeChipValue = (newValue?: Array<ComboboxPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n };\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: isVisible,\n enumerationType,\n valueType,\n componentType: 'combobox',\n value,\n search: filterValue,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = Children.toArray(children) as React.ReactElement[];\n\n const childrenMemo = getChildren(\n childrenArray,\n { onClick: onClickChildrenItem, childrenRefs: itemsRefs },\n value,\n filterValue,\n filterFunction,\n ).filter(Boolean);\n\n const values = getValues(childrenArray, value);\n\n const onSearch = (newSearch?: string, newOpened?: boolean) => {\n setSearch(newSearch);\n setFilterValue(newSearch);\n setIsVisible(newOpened ?? true);\n };\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n onKeyDownTarget(event);\n };\n\n useEffect(() => {\n if (alwaysOpened && rest.valueType === 'single') {\n setSearch(String(value));\n }\n }, [value, alwaysOpened]);\n\n return (\n <StyledRoot ref={comboboxRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={-1}\n form={form}\n name={name}\n value={`${value}`}\n disabled={disabled || readOnly}\n />\n <StyledPopover\n role={role}\n opened={isVisible}\n onToggle={onInnerToggle}\n target={\n <ComboboxTarget\n opened={isVisible}\n values={values}\n label={label}\n placeholder={placeholder}\n search={search}\n enumerationType={enumerationType}\n valueType={valueType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n closedWithoutChanges={closedWithoutChanges}\n ref={handleRef}\n chipsRefs={chipsRefs}\n inputRef={inputRef}\n id={innerId}\n onChange={onChangeChipValue}\n onSearch={onSearch}\n onKeyDown={onKeyDownHandle}\n {...rest}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n placement={getPlacements(placement)}\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n frame={frame}\n trigger=\"click\"\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} view={view} size={size}>\n <StyledCombobox onKeyDown={onKeyDownSelect}>\n {childrenMemo.length ? (\n childrenMemo\n ) : (\n <ComboboxItemNotFound>{negativeResultContent}</ComboboxItemNotFound>\n )}\n </StyledCombobox>\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const comboboxConfig = {\n name: 'Combobox',\n tag: 'div',\n layout: comboboxRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","_ref$negativeResultCo","negativeResultContent","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$alwaysOpened","alwaysOpened","_ref$placement","placement","onToggle","onKeyDown","filterFunction","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","_useState3","_useState4","isVisible","setIsVisible","_useState5","_useState6","search","setSearch","_useState7","_useState8","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","_rest$onChangeValue3","_useKeyNavigation","useKeyNavigation","componentType","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","String","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","StyledPopover","target","ComboboxTarget","_extends","onChange","className","cx","classList","toString","getPlacements","selectWidth","trigger","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","StyledCombobox","length","ComboboxItemNotFound","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxOld/Combobox.tsx"],"sourcesContent":["import React, { Children, forwardRef, useEffect, useRef, useState } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { useDidMountEffect, useForceUpdate } from '../../../hooks';\n\nimport { getChildren, getNewSelected, getValues } from './utils';\nimport { useKeyNavigation } from './hooks';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { ComboboxTarget } from './ui';\nimport { ComboboxItemNotFound, StyledPopover, StyledRoot, StyledCombobox, StyledNativeSelect } from './Combobox.styles';\nimport type { ComboboxPrimitiveValue, ComboboxProps } from './Combobox.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, ComboboxProps>) =>\n forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n name,\n form,\n readOnly,\n disabled,\n label,\n placeholder,\n id,\n children,\n role,\n view,\n size,\n frame,\n usePortal,\n negativeResultContent = 'Элементы не найдены',\n enumerationType = 'comma',\n opened = false,\n placement = 'bottom',\n onToggle,\n onKeyDown,\n filterFunction,\n ...rest\n },\n outerRootRef,\n ) => {\n const forceUpdate = useForceUpdate();\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const { valueType = 'single', value } = rest;\n const offset = [0, 4] as [number, number];\n\n const [ref, setRef] = useState<HTMLInputElement | null>(null);\n\n const targetRef = useRef<HTMLInputElement>(null);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n const comboboxRef = useRef<HTMLDivElement>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef<HTMLInputElement>(targetRef, outerRootRef);\n const controlledRefs = { targetRef, chipsRefs, selectRef: comboboxRef, itemsRefs, inputRef };\n\n const [isVisible, setIsVisible] = useState(opened);\n const [search, setSearch] = useState<string | undefined>('');\n const [filterValue, setFilterValue] = useState(search);\n\n // INFO: нужно высчитывать для корректной работы портала\n const dynamicTargetWidth = targetRef.current?.offsetWidth;\n\n // INFO: Из-за того, что классы передаются через ref,\n // состояние пропсов после изменения view, size\n // всегда предыдущее, поэтому нужно делать форс-ререндер\n useDidMountEffect(() => {\n forceUpdate();\n }, [view, size]);\n\n useEffect(() => {\n if (disabled || readOnly) {\n return;\n }\n\n setIsVisible(opened);\n }, [opened, disabled, readOnly]);\n\n useEffect(() => {\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (opened) {\n setFilterValue('');\n }\n }, []);\n\n const onInnerToggle = (openValue: boolean, event: React.SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n // INFO: Для кейсов, когда значение выбрано и нужно вывести весь список\n if (!isVisible) {\n setFilterValue('');\n }\n\n if (onToggle) {\n onToggle(openValue, event);\n\n return;\n }\n\n setIsVisible(openValue);\n };\n\n const closedWithoutChanges = useRef(true);\n\n const updateValue = (item: HTMLElement, event: React.SyntheticEvent | Event) => {\n const {\n dataset: { value: newValue },\n } = item;\n\n if (rest.valueType === 'multiple') {\n const newSelected = getNewSelected(rest.value, newValue, rest.valueType);\n rest.onChangeValue?.(newSelected);\n\n return;\n }\n\n const newSelected = getNewSelected(rest.value, newValue, 'single');\n\n rest.onChangeValue?.(newSelected);\n\n onInnerToggle?.(false, event);\n\n closedWithoutChanges.current = false;\n };\n\n const onClickChildrenItem = (event: React.MouseEvent<HTMLDivElement>) => {\n // INFO: Для корректной работы компонента Popper\n event.stopPropagation();\n\n const item = event.currentTarget as HTMLElement;\n\n updateValue(item, event);\n };\n\n const onChangeChipValue = (newValue?: Array<ComboboxPrimitiveValue>) => {\n if (rest.valueType !== 'multiple') {\n return;\n }\n\n rest.onChangeValue?.(newValue);\n };\n\n const { onKeyDownTarget, onKeyDownSelect } = useKeyNavigation({\n controlledRefs,\n opened: isVisible,\n enumerationType,\n valueType,\n componentType: 'combobox',\n value,\n search: filterValue,\n updateOpened: onInnerToggle,\n updateValue,\n });\n\n const childrenArray = Children.toArray(children) as React.ReactElement[];\n\n const childrenMemo = getChildren(\n childrenArray,\n { onClick: onClickChildrenItem, childrenRefs: itemsRefs },\n value,\n filterValue,\n filterFunction,\n ).filter(Boolean);\n\n const values = getValues(childrenArray, value);\n\n const onSearch = (newSearch?: string, newOpened?: boolean) => {\n setSearch(newSearch);\n setFilterValue(newSearch);\n setIsVisible(newOpened ?? true);\n };\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n onKeyDownTarget(event);\n };\n\n return (\n <StyledRoot ref={comboboxRef}>\n <StyledNativeSelect\n aria-invalid=\"false\"\n aria-hidden=\"true\"\n aria-readonly={readOnly}\n tabIndex={-1}\n form={form}\n name={name}\n value={`${value}`}\n disabled={disabled || readOnly}\n />\n <StyledPopover\n role={role}\n opened={isVisible}\n onToggle={onInnerToggle}\n target={\n <ComboboxTarget\n opened={isVisible}\n values={values}\n label={label}\n placeholder={placeholder}\n search={search}\n enumerationType={enumerationType}\n valueType={valueType}\n readOnly={readOnly}\n disabled={disabled}\n size={size}\n closedWithoutChanges={closedWithoutChanges}\n ref={handleRef}\n chipsRefs={chipsRefs}\n inputRef={inputRef}\n id={innerId}\n onChange={onChangeChipValue}\n onSearch={onSearch}\n onKeyDown={onKeyDownHandle}\n {...rest}\n />\n }\n className={cx(ref?.classList.toString())} // INFO: Прокидываем стили для Popover\n id={innerId}\n offset={offset}\n placement={getPlacements(placement)}\n usePortal={usePortal}\n selectWidth={dynamicTargetWidth}\n frame={frame}\n trigger=\"click\"\n isFocusTrapped={false}\n preventOverflow={false}\n closeOnEsc={false}\n closeOnOverlayClick\n >\n <Root ref={setRef} view={view} size={size}>\n <StyledCombobox onKeyDown={onKeyDownSelect}>\n {childrenMemo.length ? (\n childrenMemo\n ) : (\n <ComboboxItemNotFound>{negativeResultContent}</ComboboxItemNotFound>\n )}\n </StyledCombobox>\n </Root>\n </StyledPopover>\n </StyledRoot>\n );\n },\n );\n\nexport const comboboxConfig = {\n name: 'Combobox',\n tag: 'div',\n layout: comboboxRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","_ref","outerRootRef","_targetRef$current","name","form","readOnly","disabled","label","placeholder","id","children","role","view","size","frame","usePortal","_ref$negativeResultCo","negativeResultContent","_ref$enumerationType","enumerationType","_ref$opened","opened","_ref$placement","placement","onToggle","onKeyDown","filterFunction","rest","_objectWithoutProperties","_excluded","forceUpdate","useForceUpdate","uniqId","safeUseId","innerId","_rest$valueType","valueType","value","offset","_useState","useState","_useState2","_slicedToArray","ref","setRef","targetRef","useRef","chipsRefs","comboboxRef","itemsRefs","inputRef","handleRef","useForkRef","controlledRefs","selectRef","_useState3","_useState4","isVisible","setIsVisible","_useState5","_useState6","search","setSearch","_useState7","_useState8","filterValue","setFilterValue","dynamicTargetWidth","current","offsetWidth","useDidMountEffect","useEffect","onInnerToggle","openValue","event","closedWithoutChanges","updateValue","item","_rest$onChangeValue2","newValue","dataset","_rest$onChangeValue","newSelected","getNewSelected","onChangeValue","call","onClickChildrenItem","stopPropagation","currentTarget","onChangeChipValue","_rest$onChangeValue3","_useKeyNavigation","useKeyNavigation","componentType","updateOpened","onKeyDownTarget","onKeyDownSelect","childrenArray","Children","toArray","childrenMemo","getChildren","onClick","childrenRefs","filter","Boolean","values","getValues","onSearch","newSearch","newOpened","onKeyDownHandle","React","createElement","StyledRoot","StyledNativeSelect","tabIndex","concat","StyledPopover","target","ComboboxTarget","_extends","onChange","className","cx","classList","toString","getPlacements","selectWidth","trigger","isFocusTrapped","preventOverflow","closeOnEsc","closeOnOverlayClick","StyledCombobox","length","ComboboxItemNotFound","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -58,7 +58,7 @@ var textFieldRoot = function textFieldRoot(Root) {
58
58
  inputRef: inputRef,
59
59
  chipsRefs: chipsRefs
60
60
  };
61
- var _useState = useState(Boolean(outerValue)),
61
+ var _useState = useState(Boolean(outerValue) || Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue)),
62
62
  _useState2 = _slicedToArray(_useState, 2),
63
63
  hasValue = _useState2[0],
64
64
  setHasValue = _useState2[1];
@@ -156,8 +156,8 @@ var textFieldRoot = function textFieldRoot(Root) {
156
156
  setChips(newChips);
157
157
  }, [isChipEnumeration, values]);
158
158
  useEffect(function () {
159
- setHasValue(Boolean(outerValue));
160
- }, [outerValue]);
159
+ setHasValue(Boolean(outerValue) || Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
160
+ }, [outerValue, rest.defaultValue]);
161
161
  var innerOptional = Boolean(required ? false : optional);
162
162
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
163
163
  var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\xa0', optionalText) : null;
@@ -224,7 +224,7 @@ var textFieldRoot = function textFieldRoot(Root) {
224
224
  }, rest)), hasInnerLabel && /*#__PURE__*/React.createElement(Label, {
225
225
  id: labelId,
226
226
  htmlFor: innerId
227
- }, innerLabelValue, optionalTextNode), placeholderShown && /*#__PURE__*/React.createElement(InputPlaceholder, null, innerPlaceholderValue, hasPlaceholderOptional && optionalTextNode)), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
227
+ }, innerLabelValue, optionalTextNode), placeholderShown && !hasValue && /*#__PURE__*/React.createElement(InputPlaceholder, null, innerPlaceholderValue, hasPlaceholderOptional && optionalTextNode)), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
228
228
  id: helperTextId
229
229
  }, leftHelper));
230
230
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { FormEventHandler, ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredPlacement = 'right',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n optional,\n\n // controlled\n value: outerValue,\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [hasValue, setHasValue] = useState(Boolean(outerValue));\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const isChipsVisible = isChipEnumeration && Boolean(chips?.length);\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = Boolean(label);\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const hasPlaceholder = Boolean(placeholder) && !hasInnerLabel;\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(Boolean((event.target as HTMLInputElement).value));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n onEnterDisabled: (rest as any).onEnterDisabled,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue));\n }, [outerValue]);\n\n const innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, classes.textFieldGroupItem, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n <InputWrapper\n // Рефка для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {textBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <InputContainer>\n <Input\n ref={inputForkRef}\n id={innerId}\n value={outerValue}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(hasValueClass)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {hasInnerLabel && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && (\n <InputPlaceholder>\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n </InputContainer>\n {textAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredPlacemen","requiredPlacement","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","optional","outerValue","value","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","Boolean","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","requiredPlacementClass","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleInput","event","target","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","onClick","cx","textFieldGroupItem","Label","htmlFor","StyledIndicator","outerLabelPlacement","InputWrapper","inputWrapperRef","innerLabelPlacement","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","_extends","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { FormEventHandler, ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredPlacement = 'right',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n optional,\n\n // controlled\n value: outerValue,\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [hasValue, setHasValue] = useState(Boolean(outerValue) || Boolean(rest?.defaultValue));\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const isChipsVisible = isChipEnumeration && Boolean(chips?.length);\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = Boolean(label);\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const hasPlaceholder = Boolean(placeholder) && !hasInnerLabel;\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(Boolean((event.target as HTMLInputElement).value));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n onEnterDisabled: (rest as any).onEnterDisabled,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue) || Boolean(rest?.defaultValue));\n }, [outerValue, rest.defaultValue]);\n\n const innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, classes.textFieldGroupItem, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n <InputWrapper\n // Рефка для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {textBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <InputContainer>\n <Input\n ref={inputForkRef}\n id={innerId}\n value={outerValue}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(hasValueClass)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {hasInnerLabel && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && !hasValue && (\n <InputPlaceholder>\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n </InputContainer>\n {textAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredPlacemen","requiredPlacement","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","optional","outerValue","value","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","Boolean","defaultValue","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","requiredPlacementClass","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleInput","event","target","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","onClick","cx","textFieldGroupItem","Label","htmlFor","StyledIndicator","outerLabelPlacement","InputWrapper","inputWrapperRef","innerLabelPlacement","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","_extends","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.141.0-canary.1422.10775243587.0",
3
+ "version": "0.141.0-canary.1425.10772606706.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -121,5 +121,5 @@
121
121
  "react-popper": "2.3.0",
122
122
  "storeon": "3.1.5"
123
123
  },
124
- "gitHead": "3ddd8a2dc7326d1668b06cc9e2f4d42a115835ad"
124
+ "gitHead": "c149083115e626aaaf7cfe978759855be36b2767"
125
125
  }