@salutejs/plasma-new-hope 0.193.1-canary.1562.11858039838.0 → 0.194.0-canary.1552.11858023676.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/ComboboxNew/Combobox.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +42 -24
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +2 -0
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.css +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +39 -0
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +15 -0
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js.map +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles_18yw2bf.css +1 -0
- package/cjs/components/Combobox/ComboboxOld/Combobox.css +4 -5
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +4 -5
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +4 -5
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +4 -5
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +4 -5
- package/cjs/components/Dropdown/Dropdown.css +4 -5
- package/cjs/components/Dropdown/Dropdown.js +2 -4
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -5
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -3
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +1 -7
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/{DropdownItem.styles_14yih1y.css → DropdownItem.styles_1b439rx.css} +0 -1
- package/cjs/components/Select/Select.js +1 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +3 -18
- package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/cjs/index.css +6 -5
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/createEvent.js +54 -0
- package/cjs/utils/createEvent.js.map +1 -0
- package/cjs/utils/index.js.map +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +43 -29
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +40 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +13 -0
- package/emotion/cjs/components/Dropdown/Dropdown.js +2 -4
- package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -3
- package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +11 -15
- package/emotion/cjs/components/Select/Select.js +1 -0
- package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +3 -24
- package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/emotion/cjs/utils/createEvent.js +53 -0
- package/emotion/cjs/utils/index.js +10 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +44 -29
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +31 -0
- package/emotion/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +6 -0
- package/emotion/es/components/Dropdown/Dropdown.js +2 -4
- package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -4
- package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +11 -15
- package/emotion/es/components/Select/Select.js +1 -0
- package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +3 -24
- package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/emotion/es/utils/createEvent.js +47 -0
- package/emotion/es/utils/index.js +1 -0
- package/es/components/Combobox/ComboboxNew/Combobox.css +2 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +44 -26
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +2 -0
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +2 -0
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.css +1 -0
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +35 -0
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +11 -0
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js.map +1 -0
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles_18yw2bf.css +1 -0
- package/es/components/Combobox/ComboboxOld/Combobox.css +4 -5
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +4 -5
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +4 -5
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +4 -5
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +4 -5
- package/es/components/Dropdown/Dropdown.css +4 -5
- package/es/components/Dropdown/Dropdown.js +2 -4
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -5
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -4
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +2 -7
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/{DropdownItem.styles_14yih1y.css → DropdownItem.styles_1b439rx.css} +0 -1
- package/es/components/Select/Select.js +1 -0
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +4 -19
- package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/es/index.css +6 -5
- package/es/index.js +1 -0
- package/es/index.js.map +1 -1
- package/es/utils/createEvent.js +50 -0
- package/es/utils/createEvent.js.map +1 -0
- package/es/utils/index.js.map +1 -1
- package/package.json +2 -3
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +43 -29
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +40 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +12 -0
- package/styled-components/cjs/components/Dropdown/Dropdown.js +2 -4
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +2 -3
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +2 -5
- package/styled-components/cjs/components/Select/Select.js +1 -0
- package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +3 -24
- package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/styled-components/cjs/utils/createEvent.js +53 -0
- package/styled-components/cjs/utils/index.js +10 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +44 -29
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +31 -0
- package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.js +5 -0
- package/styled-components/es/components/Dropdown/Dropdown.js +2 -4
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -4
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +2 -5
- package/styled-components/es/components/Select/Select.js +1 -0
- package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +2 -1
- package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +3 -24
- package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -1
- package/styled-components/es/utils/createEvent.js +47 -0
- package/styled-components/es/utils/index.js +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +26 -3
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.d.ts +6 -0
- package/types/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.d.ts +3 -0
- package/types/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.d.ts.map +1 -0
- package/types/components/Dropdown/Dropdown.d.ts +2 -50
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +6 -11
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/index.d.ts +0 -1
- package/types/components/Dropdown/index.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +0 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +2 -1
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +1076 -116
- package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +1 -25
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +1076 -116
- package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +1 -25
- package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/utils/createEvent.d.ts +3 -0
- package/types/utils/createEvent.d.ts.map +1 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
@@ -1,5 +1,5 @@
|
|
1
|
-
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends,
|
2
|
-
import React, { forwardRef, useMemo, useState, useRef, useReducer, useLayoutEffect, createContext } from 'react';
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
+
import React, { forwardRef, useMemo, useState, useRef, useReducer, useLayoutEffect, useEffect, createContext } from 'react';
|
3
3
|
import { useForkRef, safeUseId } from '@salutejs/plasma-core';
|
4
4
|
import { classes } from './Combobox.tokens.js';
|
5
5
|
import { FloatingPopover } from './FloatingPopover.js';
|
@@ -8,6 +8,7 @@ import { getTreeMaps, getPathMap } from './hooks/getPathMaps.js';
|
|
8
8
|
import { IconArrowWrapper, StyledArrow, Ul, StyledEmptyState, base } from './Combobox.styles.js';
|
9
9
|
import { base as base$1 } from './variations/_view/base.js';
|
10
10
|
import { base as base$2 } from './variations/_size/base.js';
|
11
|
+
import { SelectNative } from './ui/SelectNative/SelectNative.js';
|
11
12
|
import { initialItemsTransform } from './utils/initialItemsTransform.js';
|
12
13
|
import { getInitialValue } from './utils/getInitialValue.js';
|
13
14
|
import { filterItems } from './utils/filterItems.js';
|
@@ -23,18 +24,21 @@ import { sizeToIconSize } from '../../Select/utils/sizeToIconSize.js';
|
|
23
24
|
import { getItemId } from './utils/getItemId.js';
|
24
25
|
import { Inner } from './ui/Inner/Inner.js';
|
25
26
|
|
26
|
-
var _excluded = ["multiple", "value", "onChange", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue"];
|
27
|
+
var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue"];
|
27
28
|
var Context = /*#__PURE__*/createContext({});
|
28
29
|
|
29
30
|
/**
|
30
31
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
31
32
|
*/
|
33
|
+
|
32
34
|
var comboboxRoot = function comboboxRoot(Root) {
|
33
35
|
return /*#__PURE__*/forwardRef(function (props, ref) {
|
34
36
|
var _valueToItemMap$get, _valueToItemMap$get2, _getItemByFocused;
|
35
|
-
var
|
37
|
+
var name = props.name,
|
38
|
+
multiple = props.multiple,
|
36
39
|
outerValue = props.value,
|
37
40
|
outerOnChange = props.onChange,
|
41
|
+
defaultValue = props.defaultValue,
|
38
42
|
isTargetAmount = props.isTargetAmount,
|
39
43
|
targetAmount = props.targetAmount,
|
40
44
|
items = props.items,
|
@@ -66,6 +70,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
66
70
|
outerCloseAfterSelect = props.closeAfterSelect,
|
67
71
|
renderValue = props.renderValue,
|
68
72
|
rest = _objectWithoutProperties(props, _excluded);
|
73
|
+
console.log('render');
|
69
74
|
var transformedItems = useMemo(function () {
|
70
75
|
return initialItemsTransform(items || []);
|
71
76
|
}, [items]);
|
@@ -141,11 +146,27 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
141
146
|
}
|
142
147
|
}
|
143
148
|
}, floatingPopoverRef);
|
149
|
+
|
150
|
+
// Эта функция срабатывает при изменении Combobox и
|
151
|
+
// при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).
|
144
152
|
var onChange = function onChange(newValue) {
|
153
|
+
// Условие для отправки изменений наружу
|
145
154
|
if (outerOnChange) {
|
146
|
-
|
155
|
+
// Условие для отправки если комбобокс используется без формы.
|
156
|
+
if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {
|
157
|
+
outerOnChange(newValue);
|
158
|
+
}
|
159
|
+
|
160
|
+
// Условие для отправки если комбобокс используется с формой.
|
161
|
+
if (name && _typeof(newValue) === 'object' && !Array.isArray(newValue)) {
|
162
|
+
outerOnChange(newValue);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
|
166
|
+
// Условие для изменения внутреннего значения (только если newValue строка или массив строк).
|
167
|
+
if (typeof newValue === 'string' || Array.isArray(newValue)) {
|
168
|
+
setInternalValue(newValue);
|
147
169
|
}
|
148
|
-
setInternalValue(newValue);
|
149
170
|
};
|
150
171
|
var handleClickArrow = function handleClickArrow() {
|
151
172
|
if (disabled || readOnly) {
|
@@ -178,24 +199,9 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
178
199
|
|
179
200
|
// Обработчик чипов
|
180
201
|
var handleChipsChange = function handleChipsChange(chipLabels) {
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
// Из лейблов чипов получаем value у item и далее прокидываем его в onChange.
|
185
|
-
if (renderValue && !isTargetAmount) {
|
186
|
-
var resultValues = _toConsumableArray(value);
|
187
|
-
value.forEach(function (_, index) {
|
188
|
-
var labelAfterRenderValue = renderValue(labelToItemMap.get(valueToItemMap.get(value[index]).label));
|
189
|
-
if (!chipLabels.includes(labelAfterRenderValue)) {
|
190
|
-
resultValues.splice(index, 1);
|
191
|
-
}
|
192
|
-
});
|
193
|
-
onChange(resultValues);
|
194
|
-
} else {
|
195
|
-
onChange(chipLabels.map(function (chipLabel) {
|
196
|
-
return labelToItemMap.get(chipLabel).value;
|
197
|
-
}));
|
198
|
-
}
|
202
|
+
onChange(chipLabels.map(function (chipLabel) {
|
203
|
+
return labelToItemMap.get(chipLabel).value;
|
204
|
+
}));
|
199
205
|
};
|
200
206
|
|
201
207
|
// Обработчик открытия/закрытия выпадающего списка
|
@@ -348,13 +354,24 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
348
354
|
// Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
|
349
355
|
// А переменную, содержащую сложные типы данных, нельзя помещать в deps.
|
350
356
|
}, [outerValue, internalValue, items]);
|
357
|
+
useEffect(function () {
|
358
|
+
if (defaultValue) {
|
359
|
+
setInternalValue(defaultValue);
|
360
|
+
}
|
361
|
+
}, [defaultValue]);
|
351
362
|
return /*#__PURE__*/React.createElement(Root, {
|
352
363
|
size: size,
|
353
364
|
view: view,
|
354
365
|
labelPlacement: labelPlacement,
|
355
366
|
disabled: disabled,
|
356
367
|
readOnly: readOnly
|
357
|
-
},
|
368
|
+
}, name && /*#__PURE__*/React.createElement(SelectNative, {
|
369
|
+
name: name,
|
370
|
+
value: internalValue,
|
371
|
+
multiple: multiple,
|
372
|
+
onChange: onChange,
|
373
|
+
ref: ref
|
374
|
+
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Context.Provider, {
|
358
375
|
value: {
|
359
376
|
focusedPath: focusedPath,
|
360
377
|
checked: checked,
|
@@ -364,6 +381,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
364
381
|
handleItemClick: handleItemClick,
|
365
382
|
variant: variant,
|
366
383
|
renderItem: renderItem,
|
384
|
+
valueToItemMap: valueToItemMap,
|
367
385
|
treeId: treeId
|
368
386
|
}
|
369
387
|
}, /*#__PURE__*/React.createElement(FloatingPopover, {
|
@@ -377,7 +395,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
377
395
|
listWidth: listWidth,
|
378
396
|
target: function target(referenceRef) {
|
379
397
|
return /*#__PURE__*/React.createElement(StyledTextField, _extends({
|
380
|
-
ref: inputForkRef,
|
398
|
+
ref: name ? inputRef : inputForkRef,
|
381
399
|
inputWrapperRef: referenceRef,
|
382
400
|
value: textValue,
|
383
401
|
onChange: handleTextValueChange,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n const onChange = (newValue: string | Array<string>) => {\n if (outerOnChange) {\n outerOnChange(newValue as any);\n }\n\n setInternalValue(newValue);\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const labelAfterRenderValue = renderValue(\n labelToItemMap.get(valueToItemMap.get(value[index])!.label)!,\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n onChange(resultValues);\n } else {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <StyledTextField\n ref={inputForkRef}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","multiple","outerValue","value","outerOnChange","onChange","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","Array","isArray","resultValues","_toConsumableArray","forEach","_","index","labelAfterRenderValue","includes","splice","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","val","updateSingleAncestors","React","createElement","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","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, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n createContext,\n useLayoutEffect,\n useRef,\n useEffect,\n} from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ItemContext, ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n ...rest\n } = props;\n console.log('render');\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null) => {\n // Условие для отправки изменений наружу\n if (outerOnChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root size={size} view={view} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n {name && (\n <SelectNative\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["Context","createContext","comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","name","multiple","outerValue","value","outerOnChange","onChange","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","rest","_objectWithoutProperties","_excluded","console","log","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","forEach","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","_","val","updateSingleAncestors","useEffect","React","createElement","SelectNative","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","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -109,6 +109,8 @@
|
|
109
109
|
|
110
110
|
.Target_styles_16ltv0e_s1wiuml6__f4e1732c{--plasma-textfield-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-clear-color:var(--plasma-combobox-new-textfield-color);--plasma-textfield-bg-color:var(--plasma-combobox-new-textfield-background-color);--plasma-textfield-bg-color-hover:var(--plasma-combobox-new-textfield-background-color-hover);--plasma-textfield-bg-color-focus:var(--plasma-combobox-new-textfield-background-color-focus);--plasma-textfield-border-color:var(--plasma-combobox-new-textfield-border-color);--plasma-textfield-border-color-hover:var(--plasma-combobox-new-textfield-border-color-hover);--plasma-textfield-border-color-focus:var(--plasma-combobox-new-textfield-border-color-focus);--plasma-textfield-color-readonly:var(--plasma-combobox-new-textfield-color-readonly);--plasma-textfield-bg-color-readonly:var(--plasma-combobox-new-textfield-bg-color-readonly);--plasma-textfield-border-color-readonly:var(--plasma-combobox-new-textfield-border-color-readonly);--plasma-textfield__placeholder-color-readonly:var(--plasma-combobox-new-textfield-placeholder-color-readonly);--plasma-textfield__caret-color:var(--plasma-combobox-new-textfield-caret-color);--plasma-textfield__placeholder-color:var(--plasma-combobox-new-textfield-placeholder-color);--plasma-textfield__placeholder-color-focus:var(--plasma-combobox-new-textfield-placeholder-color-focus);--plasma-textfield__clear-placeholder-color:var(--plasma-combobox-new-textfield-clear-placeholder-color);--plasma-textfield__clear-placeholder-color-focus:var(--plasma-combobox-new-textfield-clear-placeholder-color-focus);--plasma-textfield__optional-color:var(--plasma-combobox-new-textfield-optional-color);--plasma-textfield-height:var(--plasma-combobox-new-textfield-height);--plasma-textfield-border-width:var(--plasma-combobox-new-textfield-border-width);--plasma-textfield-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-textfield-padding:var(--plasma-combobox-new-textfield-padding);--plasma-textfield-padding-with-chips:var(--plasma-combobox-new-textfield-padding-with-chips);--plasma-textfield__left-content-margin:var(--plasma-combobox-new-textfield-left-content-margin);--plasma-textfield__right-content-margin:var(--plasma-combobox-new-textfield-right-content-margin);--plasma-textfield-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-textfield-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-textfield-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-textfield-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-textfield-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-textfield-line-height:var(--plasma-combobox-new-textfield-line-height);--plasma-textfield-content-slot-color:var(--plasma-combobox-new-textfield-content-slot-color);--plasma-textfield-content-slot-color-hover:var(--plasma-combobox-new-textfield-content-slot-color-hover);--plasma-textfield-content-slot-color-active:var(--plasma-combobox-new-textfield-content-slot-color-active);--plasma-textfield-content-right-slot-color:var(--plasma-combobox-new-textfield-content-right-slot-color);--plasma-textfield-content-right-slot-color-hover:var(--plasma-combobox-new-textfield-content-right-slot-color-hover);--plasma-textfield-content-right-slot-color-active:var(--plasma-combobox-new-textfield-content-right-slot-color-active);--plasma-textfield__label-color:var(--plasma-combobox-new-textfield-label-color);--plasma-textfield__label-color-readonly:var(--plasma-combobox-new-textfield-label-color-readonly);--plasma-textfield__label-offset:var(--plasma-combobox-new-textfield-label-offset);--plasma-textfield__clear-label-offset:var(--plasma-combobox-new-textfield-clear-label-offset);--plasma-textfield__label-font-family:var(--plasma-combobox-new-textfield-label-font-family);--plasma-textfield__label-font-style:var(--plasma-combobox-new-textfield-label-font-style);--plasma-textfield__label-font-size:var(--plasma-combobox-new-textfield-label-font-size);--plasma-textfield__label-font-weight:var(--plasma-combobox-new-textfield-label-font-weight);--plasma-textfield__label-letter-spacing:var(--plasma-combobox-new-textfield-label-letter-spacing);--plasma-textfield__label-line-height:var(--plasma-combobox-new-textfield-label-line-height);--plasma-textfield-placement_inner__label-font-family:var(--plasma-combobox-new-textfield-placement_inner-label-font-family);--plasma-textfield-placement_inner__label-font-style:var(--plasma-combobox-new-textfield-placement_inner-label-font-style);--plasma-textfield-placement_inner__label-font-size:var(--plasma-combobox-new-textfield-placement_inner-label-font-size);--plasma-textfield-placement_inner__label-font-weight:var(--plasma-combobox-new-textfield-placement_inner-label-font-weight);--plasma-textfield-placement_inner__label-letter-spacing:var(--plasma-combobox-new-textfield-placement_inner-label-letter-spacing);--plasma-textfield-placement_inner__label-line-height:var(--plasma-combobox-new-textfield-placement_inner-label-line-height);--plasma-textfield-placement_inner__label-padding:var(--plasma-combobox-new-textfield-placement_inner-label-padding);--plasma-textfield-placement_inner__content-padding:var(--plasma-combobox-new-textfield-placement_inner-content-padding);--plasma-textfield__title-caption-color:var(--plasma-combobox-new-textfield-title-caption-color);--plasma-textfield__title-caption-color-readonly:var(--plasma-combobox-new-textfield-title-caption-color-readonly);--plasma-textfield__title-caption-label-inner-offset:var(--plasma-combobox-new-textfield-title-caption-label-inner-offset);--plasma-textfield__title-caption-font-family:var(--plasma-combobox-new-textfield-title-caption-font-family);--plasma-textfield__title-caption-font-style:var(--plasma-combobox-new-textfield-title-caption-font-style);--plasma-textfield__title-caption-font-size:var(--plasma-combobox-new-textfield-title-caption-font-size);--plasma-textfield__title-caption-font-weight:var(--plasma-combobox-new-textfield-title-caption-font-weight);--plasma-textfield__title-caption-letter-spacing:var(--plasma-combobox-new-textfield-title-caption-letter-spacing);--plasma-textfield__title-caption-line-height:var(--plasma-combobox-new-textfield-title-caption-line-height);--plasma-textfield__left-helper-color:var(--plasma-combobox-new-textfield-left-helper-color);--plasma-textfield__left-helper-color-readonly:var(--plasma-combobox-new-textfield-left-helper-color-readonly);--plasma-textfield__left-helper-offset:var(--plasma-combobox-new-textfield-left-helper-offset);--plasma-textfield__left-helper-font-family:var(--plasma-combobox-new-textfield-left-helper-font-family);--plasma-textfield__left-helper-font-style:var(--plasma-combobox-new-textfield-left-helper-font-style);--plasma-textfield__left-helper-font-size:var(--plasma-combobox-new-textfield-left-helper-font-size);--plasma-textfield__left-helper-font-weight:var(--plasma-combobox-new-textfield-left-helper-font-weight);--plasma-textfield__left-helper-letter-spacing:var(--plasma-combobox-new-textfield-left-helper-letter-spacing);--plasma-textfield__left-helper-line-height:var(--plasma-combobox-new-textfield-left-helper-line-height);--plasma-textfield__before-text-color:var(--plasma-combobox-new-textfield-before-text-color);--plasma-textfield__after-text-color:var(--plasma-combobox-new-textfield-after-text-color);--plasma-textfield__before-text-margin:var(--plasma-combobox-new-textfield-before-text-margin);--plasma-textfield__after-text-margin:var(--plasma-combobox-new-textfield-after-text-margin);--plasma-textfield-disabled-opacity:var(--plasma-combobox-new-textfield-disabled-opacity);--plasma-textfield__chip-height:var(--plasma-combobox-new-textfield-chip-height);--plasma-textfield__chip-border-radius:var(--plasma-combobox-new-textfield-chip-border-radius);--plasma-textfield__chip-gap:var(--plasma-combobox-new-textfield-chip-gap);--plasma-textfield__chip-background:var(--plasma-combobox-new-textfield--chip-background);--plasma-textfield__chip-color:var(--plasma-combobox-new-textfield-chip-color);--plasma-textfield__chip-background-hover:var(--plasma-combobox-new-textfield-chip-background-hover);--plasma-textfield__chip-color-hover:var(--plasma-combobox-new-textfield-chip-color-hover);--plasma-textfield__chip-scale-hover:var(--plasma-combobox-new-textfield-chip-scale-hover);--plasma-textfield__chip-background-readonly:var(--plasma-combobox-new-textfield-chip-background-read-only);--plasma-textfield__chip-color-readonly:var(--plasma-combobox-new-textfield-chip-color-read-only);--plasma-textfield__chip-background-readonly-hover:var(--plasma-combobox-new-textfield-chip-background-read-only-hover);--plasma-textfield__chip-color-readonly-hover:var(--plasma-combobox-new-textfield-chip-color-read-only-hover);--plasma-textfield__chip-background-active:var(--plasma-combobox-new-textfield-chip-background-active);--plasma-textfield__chip-color-active:var(--plasma-combobox-new-textfield-chip-color-active);--plasma-textfield__chip-scale-active:var(--plasma-combobox-new-textfield-chip-scale-active);--plasma-textfield__chip-close-icon-color:var(--plasma-combobox-new-textfield-chip-close-icons-color);--plasma-textfield__chip-outline-size:var(--plasma-combobox-new-textfield-chip-outline-size);--plasma-textfield__chip-width:var(--plasma-combobox-new-textfield-chip-width);--plasma-textfield__chip-padding-top:var(--plasma-combobox-new-textfield-chip-padding-top);--plasma-textfield__chip-padding-right:var(--plasma-combobox-new-textfield-chip-padding-right);--plasma-textfield__chip-padding-bottom:var(--plasma-combobox-new-textfield-chip-padding-bottom);--plasma-textfield__chip-padding-left:var(--plasma-combobox-new-textfield-chip-padding-left);--plasma-textfield__chip-close-icon-size:var(--plasma-combobox-new-textfield-chip-close-icon-size);--plasma-textfield__chip-font-family:var(--plasma-combobox-new-textfield-chip-font-family);--plasma-textfield__chip-font-size:var(--plasma-combobox-new-textfield-chip-font-size);--plasma-textfield__chip-font-style:var(--plasma-combobox-new-textfield-chip-font-style);--plasma-textfield__chip-font-weight:var(--plasma-combobox-new-textfield-chip-font-weight);--plasma-textfield__chip-letter-spacing:var(--plasma-combobox-new-textfield-chip-letter-spacing);--plasma-textfield__chip-line-height:var(--plasma-combobox-new-textfield-chip-line-height);--plasma-textfield__chip-clear-content-margin-left:var(--plasma-combobox-new-textfield-chip-clear-content-margin-left);--plasma-textfield__chip-clear-content-margin-right:var(--plasma-combobox-new-textfield-chip-clear-content-margin-right);--plasma-textfield__chip-opacity-readonly:var(--plasma-combobox-new-textfield-chip-opacity-readonly);--plasma-textfield-focus-color:var(--plasma-combobox-new-textfield-focus-color);--plasma-textfield__indicator-color:var(--plasma-combobox-new-textfield-indicator-color);--plasma-textfield__indicator-size-inner:var(--plasma-combobox-new-textfield-indicator-size-inner);--plasma-textfield__indicator-size-outer:var(--plasma-combobox-new-textfield-indicator-size-outer);--plasma-textfield__indicator-placement-inner:var(--plasma-combobox-new-textfield-indicator-placement-inner);--plasma-textfield__indicator-placement-outer:var(--plasma-combobox-new-textfield-indicator-placement-outer);--plasma-textfield__indicator-placement-inner-right:var(--plasma-combobox-new-textfield-indicator-placement-inner-right);--plasma-textfield__indicator-placement-outer-right:var(--plasma-combobox-new-textfield-indicator-placement-outer-right);--plasma-textfield__clear-indicator-placement-inner:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner);--plasma-textfield__clear-indicator-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-placement-inner-right);--plasma-textfield__clear-indicator-hint-placement-inner-right:var(--plasma-combobox-new-textfield-clear-indicator-hint-placement-inner-right);}
|
111
111
|
|
112
|
+
.SelectNative_styles_18yw2bf_st8j5fy__14a96fe5{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
113
|
+
|
112
114
|
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
113
115
|
|
114
116
|
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
@@ -109,6 +109,8 @@
|
|
109
109
|
|
110
110
|
.Combobox_styles_18a8p75_s11cn92k__ba048029{--plasma-emptystate-border-radius:var(--plasma-combobox-new-textfield-border-radius);--plasma-emptystate-padding:var(--plasma-combobox-new-empty-state-padding);--plasma-emptystate-font-family:var(--plasma-combobox-new-textfield-font-family);--plasma-emptystate-font-size:var(--plasma-combobox-new-textfield-font-size);--plasma-emptystate-font-style:var(--plasma-combobox-new-textfield-font-style);--plasma-emptystate-font-weight:var(--plasma-combobox-new-textfield-font-weight);--plasma-emptystate-font-letter-spacing:var(--plasma-combobox-new-textfield-letter-spacing);--plasma-emptystate-font-line-height:var(--plasma-combobox-new-textfield-line-height);}
|
111
111
|
|
112
|
+
.SelectNative_styles_18yw2bf_st8j5fy__14a96fe5{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
113
|
+
|
112
114
|
.base_x252cy_b17hdes8__856a05b7 input[type='checkbox']:indeterminate + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}.base_x252cy_b17hdes8__856a05b7 input:checked + .base_x252cy_s1u3nd7e__856a05b7 .base_x252cy_sft3zxv__856a05b7{border:none;background:var(--plasma-checkbox-fill-color);border-color:var(--plasma-checkbox-fill-color);}
|
113
115
|
|
114
116
|
.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{opacity:var(--plasma-checkbox-disabled-opacity);}.base_1krdtt6_bxbqqc3__2d5e2cdd input:disabled + .base_1krdtt6_s1u3nd7e__2d5e2cdd{cursor:not-allowed;}
|
@@ -35,6 +35,7 @@ var Item = function Item(_ref) {
|
|
35
35
|
handleItemClick = _useContext.handleItemClick,
|
36
36
|
variant = _useContext.variant,
|
37
37
|
renderItem = _useContext.renderItem,
|
38
|
+
valueToItemMap = _useContext.valueToItemMap,
|
38
39
|
treeId = _useContext.treeId;
|
39
40
|
var disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;
|
40
41
|
var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
|
@@ -88,7 +89,7 @@ var Item = function Item(_ref) {
|
|
88
89
|
}))), !multiple && checked.get(item.value) === 'done' && /*#__PURE__*/React.createElement(IconDone, {
|
89
90
|
size: sizeToIconSize(size, variant),
|
90
91
|
color: "inherit"
|
91
|
-
})), renderItem ? /*#__PURE__*/React.createElement(StyledText, null, renderItem(
|
92
|
+
})), renderItem ? /*#__PURE__*/React.createElement(StyledText, null, renderItem(valueToItemMap.get(value))) : /*#__PURE__*/React.createElement(StyledWrapper, null, /*#__PURE__*/React.createElement(StyledCell, {
|
92
93
|
view: "default",
|
93
94
|
size: "l",
|
94
95
|
contentLeft: contentLeft,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../../_Icon';\nimport { Context } from '../../../../Combobox';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(disabledClassName, focusedClass, activeClass)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { IconDisclosureRightCentered, IconDone } from '../../../../../../_Icon';\nimport { Context } from '../../../../Combobox';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n valueToItemMap,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n className={cx(disabledClassName, focusedClass, activeClass)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <IconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(valueToItemMap.get(value)!)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n view=\"default\"\n size=\"l\"\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <IconDisclosureRightCentered size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiple","size","handleCheckboxChange","handleItemClick","variant","renderItem","valueToItemMap","treeId","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","className","cx","id","getItemId","onClick","role","Boolean","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","_StyledIndicator","StyledIndicator","view","IconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","alignContentLeft","alignContentRight","title","isEmpty","items","DisclosureIconWrapper","IconDisclosureRightCentered"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
.SelectNative_styles_18yw2bf_st8j5fy__14a96fe5{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import React, { forwardRef, useRef, useEffect } from 'react';
|
2
|
+
import { useForkRef } from '@salutejs/plasma-core';
|
3
|
+
import { SelectHidden } from './SelectNative.styles.js';
|
4
|
+
import { createEvent } from '../../../../../utils/createEvent.js';
|
5
|
+
|
6
|
+
var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
7
|
+
var name = _ref.name,
|
8
|
+
multiple = _ref.multiple,
|
9
|
+
value = _ref.value,
|
10
|
+
onChange = _ref.onChange;
|
11
|
+
var values = multiple ? value : [value];
|
12
|
+
var selectRef = useRef(null);
|
13
|
+
var forkRef = useForkRef(selectRef, ref);
|
14
|
+
useEffect(function () {
|
15
|
+
var event = createEvent(selectRef);
|
16
|
+
if (onChange) {
|
17
|
+
onChange(event);
|
18
|
+
}
|
19
|
+
}, [values]);
|
20
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
21
|
+
ref: forkRef,
|
22
|
+
multiple: multiple,
|
23
|
+
name: name,
|
24
|
+
hidden: true,
|
25
|
+
value: multiple ? values : values[0]
|
26
|
+
}, values.map(function (v) {
|
27
|
+
return /*#__PURE__*/React.createElement("option", {
|
28
|
+
key: v,
|
29
|
+
value: v
|
30
|
+
}, v);
|
31
|
+
})));
|
32
|
+
});
|
33
|
+
|
34
|
+
export { SelectNative };
|
35
|
+
//# sourceMappingURL=SelectNative.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SelectNative.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../../utils';\nimport { ComboboxProps } from '../../Combobox.types';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<ComboboxProps, 'name' | 'value' | 'multiple'> & {\n onChange: (value: ChangeEvent<HTMLSelectElement> | null) => void;\n};\n\nexport const SelectNative = forwardRef<HTMLInputElement, Props>(({ name, multiple, value, onChange }, ref) => {\n const values = (multiple ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n\n useEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n return (\n <>\n <SelectHidden ref={forkRef} multiple={multiple} name={name} hidden value={multiple ? values : values[0]}>\n {values.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n});\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiple","value","onChange","values","selectRef","useRef","forkRef","useForkRef","useEffect","event","createEvent","React","createElement","Fragment","SelectHidden","hidden","map","v","key"],"mappings":";;;;;AAYO,IAAMA,YAAY,gBAAGC,UAAU,CAA0B,UAAAC,IAAA,EAAsCC,GAAG,EAAK;AAAA,EAAA,IAA3CC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ,CAAA;EAC9F,IAAMC,MAAM,GAAIH,QAAQ,GAAGC,KAAK,GAAG,CAACA,KAAK,CAAc,CAAA;AACvD,EAAA,IAAMG,SAAS,GAAGC,MAAM,CAAoB,IAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,OAAO,GAAGC,UAAU,CAACH,SAAS,EAAEN,GAAU,CAAC,CAAA;AAEjDU,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,KAAK,GAAGC,WAAW,CAACN,SAAS,CAAC,CAAA;AACpC,IAAA,IAAIF,QAAQ,EAAE;MACVA,QAAQ,CAACO,KAAK,CAAC,CAAA;AACnB,KAAA;AACJ,GAAC,EAAE,CAACN,MAAM,CAAC,CAAC,CAAA;AAEZ,EAAA,oBACIQ,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA;AAAChB,IAAAA,GAAG,EAAEQ,OAAQ;AAACN,IAAAA,QAAQ,EAAEA,QAAS;AAACD,IAAAA,IAAI,EAAEA,IAAK;IAACgB,MAAM,EAAA,IAAA;AAACd,IAAAA,KAAK,EAAED,QAAQ,GAAGG,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAA;AAAE,GAAA,EACnGA,MAAM,CAACa,GAAG,CAAC,UAACC,CAAC,EAAA;IAAA,oBACVN,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQM,MAAAA,GAAG,EAAED,CAAE;AAAChB,MAAAA,KAAK,EAAEgB,CAAAA;AAAE,KAAA,EACpBA,CACG,CAAC,CAAA;GACZ,CACS,CAChB,CAAC,CAAA;AAEX,CAAC;;;;"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import './SelectNative.styles_18yw2bf.css';
|
2
|
+
import { styled } from '@linaria/react';
|
3
|
+
|
4
|
+
var SelectHidden = /*#__PURE__*/styled('select')({
|
5
|
+
name: "SelectHidden",
|
6
|
+
"class": "st8j5fy",
|
7
|
+
propsAsIs: false
|
8
|
+
});
|
9
|
+
|
10
|
+
export { SelectHidden };
|
11
|
+
//# sourceMappingURL=SelectNative.styles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SelectNative.styles.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { applyHidden } from '../../../../../mixins';\n\nexport const SelectHidden = styled.select`\n ${applyHidden()};\n`;\n"],"names":["SelectHidden","styled","name","class","propsAsIs"],"mappings":";;AAIO,IAAMA,YAAY,gBAAGC,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAEjC;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
.st8j5fy{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
@@ -26,12 +26,11 @@
|
|
26
26
|
|
27
27
|
.CellTextbox_styles_rgpies_cz0uqdu__c842929b{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--plasma-cell-textbox-gap);}
|
28
28
|
|
29
|
-
.
|
29
|
+
.DropdownItem_styles_1b439rx_c1gkzlls__ed711128{--plasma-cell-title-color:var(--text-primary);--plasma-cell-background-color:var(--plasma-colors-transparent);--plasma-cell-padding:var(--plasma-dropdown-cell-padding);--plasma-cell-padding-left-content:var(--plasma-dropdown-cell-padding-left-content);--plasma-cell-padding-content:var(--plasma-dropdown-cell-padding-content);--plasma-cell-padding-right-content:var(--plasma-dropdown-cell-padding-right-content);--plasma-cell-textbox-gap:var(--plasma-dropdown-cell-textbox-gap);--plasma-cell-gap:var(--plasma-dropdown-cell-gap);--plasma-cell-title-font-family:var(--plasma-dropdown-cell-title-font-family);--plasma-cell-title-font-size:var(--plasma-dropdown-cell-title-font-size);--plasma-cell-title-font-style:var(--plasma-dropdown-cell-title-font-style);--plasma-cell-title-font-weight:var(--plasma-dropdown-cell-title-font-weight);--plasma-cell-title-letter-spacing:var(--plasma-dropdown-cell-title-letter-spacing);--plasma-cell-title-line-height:var(--plasma-dropdown-cell-title-line-height);width:100%;}
|
30
30
|
|
31
|
-
.
|
32
|
-
.
|
33
|
-
.
|
34
|
-
.DropdownItem_styles_14yih1y_r1jav4ek__bf539568{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
31
|
+
.DropdownItem_styles_1b439rx_d1m97l2m__ed711128{line-height:0;color:var(--text-secondary);}
|
32
|
+
.DropdownItem_styles_1b439rx_doib72h__ed711128{height:1px;margin-top:var(--doib72h-0);margin-right:var(--plasma-dropdown-divider-margin-right);margin-bottom:var(--doib72h-1);margin-left:var(--plasma-dropdown-divider-margin-left);background:var(--plasma-dropdown-divider-color);}
|
33
|
+
.DropdownItem_styles_1b439rx_w6l2f0g__ed711128{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--plasma-dropdown-item-height);margin:0;box-sizing:content-box;padding:var(--w6l2f0g-0);font-family:var(--plasma-dropdown-item-font-family);font-size:var(--plasma-dropdown-item-font-size);font-style:var(--plasma-dropdown-item-font-style);font-weight:var(--plasma-dropdown-item-letter-spacing);-webkit-letter-spacing:var(--plasma-dropdown-item-line-height);-moz-letter-spacing:var(--plasma-dropdown-item-line-height);-ms-letter-spacing:var(--plasma-dropdown-item-line-height);letter-spacing:var(--plasma-dropdown-item-line-height);line-height:var(--plasma-dropdown-item-font-weight);background-color:var(--plasma-colors-transparent);border-radius:var(--plasma-dropdown-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-right:0.125rem solid transparent;border-left:0.125rem solid transparent;background-clip:padding-box;position:relative;}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128:hover:not(.DropdownItem_styles_1b439rx_dropdownItemIsDisabled__ed711128){cursor:pointer;background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128.DropdownItem_styles_1b439rx_dropdownItemIsActive__ed711128{background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128.DropdownItem_styles_1b439rx_dropdownItemIsDisabled__ed711128{opacity:0.4;cursor:not-allowed;}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128:focus{outline:none;}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0.0625rem solid transparent;border-radius:var(--plasma-dropdown-item-border-radius);-webkit-transition:none;transition:none;pointer-events:none;}.DropdownItem_styles_1b439rx_w6l2f0g__ed711128.DropdownItem_styles_1b439rx_dropdownItemIsFocused__ed711128:before{outline:none;box-shadow:0 0 0 0.0625rem var(--surface-accent);}
|
35
34
|
|
36
35
|
.DropdownItem_styles_1lyg81y_s1iqs5in__b17ea060{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:var(--plasma-dropdown-item-content-left-width);color:var(--plasma-dropdown-item-content-left-color);}
|
37
36
|
.DropdownItem_styles_1lyg81y_sfg3dyd__b17ea060{margin-left:auto;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:var(--plasma-dropdown-item-content-right-width);color:var(--plasma-dropdown-item-content-right-color);}
|