@ozen-ui/kit 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/__inner__/cjs/components/DataList/DataList.css +19 -46
  2. package/__inner__/cjs/components/DataList/DataList.js +101 -40
  3. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/DataListCheckIcon.css +13 -0
  4. package/__inner__/cjs/components/{Select/components/SelectCheckIcon/SelectCheckIcon.d.ts → DataList/components/DataListCheckIcon/DataListCheckIcon.d.ts} +2 -2
  5. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/DataListCheckIcon.js +16 -0
  6. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/index.d.ts +1 -0
  7. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/index.js +4 -0
  8. package/__inner__/cjs/components/DataList/components/DataListOption/DataListOption.css +20 -0
  9. package/__inner__/{esm/components/DataList/components → cjs/components/DataList/components/DataListOption}/DataListOption.d.ts +15 -4
  10. package/__inner__/cjs/components/DataList/components/DataListOption/DataListOption.js +39 -0
  11. package/__inner__/cjs/components/DataList/components/DataListOption/index.d.ts +1 -0
  12. package/__inner__/cjs/components/{Select/components/SelectCheckIcon → DataList/components/DataListOption}/index.js +1 -1
  13. package/__inner__/cjs/components/DataList/constants.d.ts +1 -0
  14. package/__inner__/cjs/components/DataList/constants.js +3 -1
  15. package/__inner__/cjs/components/DataList/helpers/index.d.ts +4 -0
  16. package/__inner__/cjs/components/DataList/helpers/index.js +7 -0
  17. package/__inner__/cjs/components/DataList/helpers/lastSelectedValue.d.ts +1 -0
  18. package/__inner__/cjs/components/DataList/helpers/lastSelectedValue.js +8 -0
  19. package/__inner__/cjs/components/DataList/helpers/types.d.ts +10 -0
  20. package/__inner__/cjs/components/DataList/helpers/types.js +7 -0
  21. package/__inner__/cjs/components/DataList/helpers/useDataListNavigation.d.ts +23 -0
  22. package/__inner__/cjs/components/DataList/helpers/useDataListNavigation.js +85 -0
  23. package/__inner__/cjs/components/DataList/helpers/useScrollContainerToElement.d.ts +3 -0
  24. package/__inner__/cjs/components/DataList/helpers/useScrollContainerToElement.js +15 -0
  25. package/__inner__/cjs/components/DataList/types.d.ts +3 -4
  26. package/__inner__/cjs/components/DataList/types.js +0 -5
  27. package/__inner__/cjs/components/FieldControl/FieldControl.js +1 -0
  28. package/__inner__/cjs/components/Input/Input.js +1 -1
  29. package/__inner__/cjs/components/Input/types.d.ts +3 -2
  30. package/__inner__/cjs/components/Select/Select.css +33 -128
  31. package/__inner__/cjs/components/Select/Select.d.ts +2 -3
  32. package/__inner__/cjs/components/Select/Select.js +92 -80
  33. package/__inner__/cjs/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +5 -0
  34. package/__inner__/cjs/components/Select/components/SelectConsumer/SelectInputConsumer.js +21 -0
  35. package/__inner__/cjs/components/Select/components/SelectConsumer/index.d.ts +1 -0
  36. package/__inner__/cjs/components/Select/components/SelectConsumer/index.js +4 -0
  37. package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.d.ts +1 -72
  38. package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +23 -22
  39. package/__inner__/cjs/components/Select/components/SelectInput/index.d.ts +1 -0
  40. package/__inner__/cjs/components/Select/components/SelectInput/index.js +1 -0
  41. package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +89 -0
  42. package/__inner__/cjs/components/Select/components/SelectInput/types.js +2 -0
  43. package/__inner__/cjs/components/Select/components/index.d.ts +0 -1
  44. package/__inner__/cjs/components/Select/components/index.js +0 -1
  45. package/__inner__/cjs/components/Select/constants.d.ts +1 -1
  46. package/__inner__/cjs/components/Select/constants.js +2 -2
  47. package/__inner__/cjs/components/Select/helpers/index.d.ts +1 -0
  48. package/__inner__/cjs/components/Select/helpers/index.js +4 -0
  49. package/__inner__/cjs/components/Select/helpers/types.d.ts +8 -0
  50. package/__inner__/cjs/components/Select/helpers/types.js +7 -0
  51. package/__inner__/cjs/components/Select/index.d.ts +2 -1
  52. package/__inner__/cjs/components/Select/index.js +5 -4
  53. package/__inner__/cjs/components/Select/types.d.ts +31 -18
  54. package/__inner__/cjs/components/Textarea/Textarea.js +1 -1
  55. package/__inner__/cjs/components/Textarea/types.d.ts +2 -2
  56. package/__inner__/cjs/utils/scrollContainerToElement.d.ts +3 -4
  57. package/__inner__/esm/components/DataList/DataList.css +19 -46
  58. package/__inner__/esm/components/DataList/DataList.js +101 -40
  59. package/__inner__/esm/components/DataList/components/DataListCheckIcon/DataListCheckIcon.css +13 -0
  60. package/__inner__/esm/components/{Select/components/SelectCheckIcon/SelectCheckIcon.d.ts → DataList/components/DataListCheckIcon/DataListCheckIcon.d.ts} +2 -2
  61. package/__inner__/esm/components/DataList/components/DataListCheckIcon/DataListCheckIcon.js +11 -0
  62. package/__inner__/esm/components/DataList/components/DataListCheckIcon/index.d.ts +1 -0
  63. package/__inner__/esm/components/DataList/components/DataListCheckIcon/index.js +1 -0
  64. package/__inner__/esm/components/DataList/components/DataListOption/DataListOption.css +20 -0
  65. package/__inner__/{cjs/components/DataList/components → esm/components/DataList/components/DataListOption}/DataListOption.d.ts +15 -4
  66. package/__inner__/esm/components/DataList/components/DataListOption/DataListOption.js +36 -0
  67. package/__inner__/esm/components/DataList/components/DataListOption/index.d.ts +1 -0
  68. package/__inner__/esm/components/DataList/components/DataListOption/index.js +1 -0
  69. package/__inner__/esm/components/DataList/constants.d.ts +1 -0
  70. package/__inner__/esm/components/DataList/constants.js +2 -0
  71. package/__inner__/esm/components/DataList/helpers/index.d.ts +4 -0
  72. package/__inner__/esm/components/DataList/helpers/index.js +4 -0
  73. package/__inner__/esm/components/DataList/helpers/lastSelectedValue.d.ts +1 -0
  74. package/__inner__/esm/components/DataList/helpers/lastSelectedValue.js +4 -0
  75. package/__inner__/esm/components/DataList/helpers/types.d.ts +10 -0
  76. package/__inner__/esm/components/DataList/helpers/types.js +2 -0
  77. package/__inner__/esm/components/DataList/helpers/useDataListNavigation.d.ts +23 -0
  78. package/__inner__/esm/components/DataList/helpers/useDataListNavigation.js +81 -0
  79. package/__inner__/esm/components/DataList/helpers/useScrollContainerToElement.d.ts +3 -0
  80. package/__inner__/esm/components/DataList/helpers/useScrollContainerToElement.js +11 -0
  81. package/__inner__/esm/components/DataList/types.d.ts +3 -4
  82. package/__inner__/esm/components/DataList/types.js +1 -2
  83. package/__inner__/esm/components/FieldControl/FieldControl.js +1 -0
  84. package/__inner__/esm/components/Input/Input.js +1 -1
  85. package/__inner__/esm/components/Input/types.d.ts +3 -2
  86. package/__inner__/esm/components/Select/Select.css +33 -128
  87. package/__inner__/esm/components/Select/Select.d.ts +2 -3
  88. package/__inner__/esm/components/Select/Select.js +96 -84
  89. package/__inner__/esm/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +5 -0
  90. package/__inner__/esm/components/Select/components/SelectConsumer/SelectInputConsumer.js +17 -0
  91. package/__inner__/esm/components/Select/components/SelectConsumer/index.d.ts +1 -0
  92. package/__inner__/esm/components/Select/components/SelectConsumer/index.js +1 -0
  93. package/__inner__/esm/components/Select/components/SelectInput/SelectInput.d.ts +1 -72
  94. package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +25 -24
  95. package/__inner__/esm/components/Select/components/SelectInput/index.d.ts +1 -0
  96. package/__inner__/esm/components/Select/components/SelectInput/index.js +1 -0
  97. package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +89 -0
  98. package/__inner__/esm/components/Select/components/SelectInput/types.js +1 -0
  99. package/__inner__/esm/components/Select/components/index.d.ts +0 -1
  100. package/__inner__/esm/components/Select/components/index.js +0 -1
  101. package/__inner__/esm/components/Select/constants.d.ts +1 -1
  102. package/__inner__/esm/components/Select/constants.js +1 -1
  103. package/__inner__/esm/components/Select/helpers/index.d.ts +1 -0
  104. package/__inner__/esm/components/Select/helpers/index.js +1 -0
  105. package/__inner__/esm/components/Select/helpers/types.d.ts +8 -0
  106. package/__inner__/esm/components/Select/helpers/types.js +2 -0
  107. package/__inner__/esm/components/Select/index.d.ts +2 -1
  108. package/__inner__/esm/components/Select/index.js +2 -1
  109. package/__inner__/esm/components/Select/types.d.ts +31 -18
  110. package/__inner__/esm/components/Textarea/Textarea.js +1 -1
  111. package/__inner__/esm/components/Textarea/types.d.ts +2 -2
  112. package/__inner__/esm/utils/scrollContainerToElement.d.ts +3 -4
  113. package/package.json +1 -1
  114. package/__inner__/cjs/components/DataList/DataListProvider.d.ts +0 -16
  115. package/__inner__/cjs/components/DataList/DataListProvider.js +0 -11
  116. package/__inner__/cjs/components/DataList/components/DataListOption.js +0 -40
  117. package/__inner__/cjs/components/DataList/useDataListNavigation.d.ts +0 -23
  118. package/__inner__/cjs/components/DataList/useDataListNavigation.js +0 -109
  119. package/__inner__/cjs/components/Select/components/SelectCheckIcon/SelectCheckIcon.css +0 -13
  120. package/__inner__/cjs/components/Select/components/SelectCheckIcon/SelectCheckIcon.js +0 -14
  121. package/__inner__/cjs/components/Select/components/SelectCheckIcon/index.d.ts +0 -1
  122. package/__inner__/esm/components/DataList/DataListProvider.d.ts +0 -16
  123. package/__inner__/esm/components/DataList/DataListProvider.js +0 -7
  124. package/__inner__/esm/components/DataList/components/DataListOption.js +0 -37
  125. package/__inner__/esm/components/DataList/useDataListNavigation.d.ts +0 -23
  126. package/__inner__/esm/components/DataList/useDataListNavigation.js +0 -105
  127. package/__inner__/esm/components/Select/components/SelectCheckIcon/SelectCheckIcon.css +0 -13
  128. package/__inner__/esm/components/Select/components/SelectCheckIcon/SelectCheckIcon.js +0 -9
  129. package/__inner__/esm/components/Select/components/SelectCheckIcon/index.d.ts +0 -1
  130. package/__inner__/esm/components/Select/components/SelectCheckIcon/index.js +0 -1
@@ -1,75 +1,4 @@
1
1
  import '../../Select.css';
2
2
  import React from 'react';
3
- import type { HTMLAttributes, InputHTMLAttributes, Ref } from 'react';
4
- import type { FormElementSizeVariant } from '../../../../types/FormElementSizeVariant';
5
- import { type FieldIconProps } from '../../../FieldIcon';
6
- import { type FieldLabelProps } from '../../../FieldLabel';
7
- export type SelectInputSizeVariant = FormElementSizeVariant;
8
- type DivElement = HTMLAttributes<HTMLDivElement>;
9
- type InputElement = InputHTMLAttributes<HTMLInputElement>;
10
- export type SelectInputProps = {
11
- /** Атрибут id для элемента input */
12
- id?: string;
13
- /** Атрибут name для элемента input */
14
- name?: string;
15
- /** Лейбл */
16
- label?: string;
17
- /** Размер компонента */
18
- size?: SelectInputSizeVariant;
19
- /** Подсказка. Отображается, когда вариант не выбран */
20
- placeholder?: string;
21
- /** Если {true} устанавливает автофокус */
22
- autoFocus?: boolean;
23
- /** Если {true} переводит поле в состояние ошибки */
24
- error?: boolean;
25
- /** Если {true} растягивает поле на всю ширину */
26
- fullWidth?: boolean;
27
- /** Дополнительное описание к полю */
28
- hint?: string | null | undefined;
29
- /** Если {true} делает элемент неактивным */
30
- disabled?: boolean;
31
- /** Если {true} делает элемент обязательным к заполнению */
32
- required?: boolean;
33
- /** Признак визуального состояния компонента с фокусом */
34
- focused?: boolean;
35
- /** Если {true} предотвращает сокращение текста в значении и
36
- * задает гибкую высоту контейнера компонента */
37
- multiline?: boolean;
38
- /** Текст или иконка слева */
39
- renderLeft?: FieldIconProps['icon'];
40
- /** Текст или иконка справа */
41
- renderRight?: FieldIconProps['icon'];
42
- /** Значение для отображения */
43
- renderedValue?: React.ReactNode;
44
- /** Выбранное значение */
45
- value?: InputElement['value'];
46
- /** Значение умолчанию (неконтролируемый компонент) */
47
- defaultValue?: InputElement['defaultValue'];
48
- /** Ссылка на Field */
49
- fieldRef?: Ref<HTMLDivElement>;
50
- /** Свойства Field */
51
- fieldProps?: DivElement & {
52
- 'data-testid'?: string;
53
- };
54
- /** Ссылка на элемент input */
55
- inputRef?: Ref<HTMLInputElement>;
56
- /** Свойства элемента input */
57
- inputProps?: InputElement & {
58
- 'data-testid'?: string;
59
- };
60
- /** Ссылка на FieldLabel */
61
- labelRef?: FieldLabelProps['ref'];
62
- /** Свойства FieldLabel */
63
- labelProps?: FieldLabelProps;
64
- /** Ссылка на Body */
65
- bodyRef?: Ref<HTMLDivElement>;
66
- /** Свойства Body */
67
- bodyProps?: DivElement;
68
- /** Ссылка на корневой DOM-элемент компонента */
69
- ref?: Ref<HTMLDivElement>;
70
- open?: boolean;
71
- 'data-testid'?: string;
72
- children?: never;
73
- } & Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'>;
3
+ import type { SelectInputProps } from './types';
74
4
  export declare const SelectInput: React.ForwardRefExoticComponent<Omit<SelectInputProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
75
- export {};
@@ -6,37 +6,38 @@ require("../../Select.css");
6
6
  var react_1 = tslib_1.__importStar(require("react"));
7
7
  var classnames_1 = require("@bem-react/classnames");
8
8
  var icons_1 = require("@ozen-ui/icons");
9
- var useMultiRef_1 = require("../../../../hooks/useMultiRef");
9
+ var useBoolean_1 = require("../../../../hooks/useBoolean");
10
+ var FieldControl_1 = require("../../../FieldControl");
10
11
  var FieldHint_1 = require("../../../FieldHint");
11
12
  var FieldIcon_1 = require("../../../FieldIcon");
12
13
  var FieldLabel_1 = require("../../../FieldLabel");
13
14
  var Fieldset_1 = require("../../../Fieldset");
15
+ var constants_1 = require("../../constants");
14
16
  var index_1 = require("../../index");
17
+ var SelectConsumer_1 = require("../SelectConsumer");
15
18
  exports.SelectInput = (0, react_1.forwardRef)(function (_a, ref) {
16
- var _b = _a.size, size = _b === void 0 ? 'm' : _b, _c = _a.multiline, multiline = _c === void 0 ? false : _c, label = _a.label, error = _a.error, id = _a.id, name = _a.name, renderLeft = _a.renderLeft, renderRight = _a.renderRight, inputRef = _a.inputRef, fieldRef = _a.fieldRef, fullWidth = _a.fullWidth, disabled = _a.disabled, hint = _a.hint, required = _a.required, className = _a.className, inputProps = _a.inputProps, valueProp = _a.value, defaultValue = _a.defaultValue, onFocus = _a.onFocus, onBlur = _a.onBlur, onKeyDown = _a.onKeyDown, labelRef = _a.labelRef, labelProps = _a.labelProps, fieldProps = _a.fieldProps, onClick = _a.onClick, focused = _a.focused, placeholderProp = _a.placeholder, renderedValue = _a.renderedValue, bodyProps = _a.bodyProps, bodyRefProp = _a.bodyRef, open = _a.open, other = tslib_1.__rest(_a, ["size", "multiline", "label", "error", "id", "name", "renderLeft", "renderRight", "inputRef", "fieldRef", "fullWidth", "disabled", "hint", "required", "className", "inputProps", "value", "defaultValue", "onFocus", "onBlur", "onKeyDown", "labelRef", "labelProps", "fieldProps", "onClick", "focused", "placeholder", "renderedValue", "bodyProps", "bodyRef", "open"]);
17
- var bodyRef = (0, react_1.useRef)(null);
18
- var filled = focused || !!valueProp;
19
- var hasLabel = !!label;
20
- var placeholder = (focused || !hasLabel) && !valueProp && placeholderProp;
21
- return (react_1.default.createElement("div", tslib_1.__assign({}, other, { className: (0, index_1.cnSelect)({
22
- fullWidth: fullWidth,
23
- size: size,
24
- error: error,
25
- disabled: disabled,
26
- required: required,
27
- hasLabel: hasLabel,
19
+ var _b = _a.size, size = _b === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _b, _c = _a.multiline, multiline = _c === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _c, open = _a.open, label = _a.label, error = _a.error, id = _a.id, name = _a.name, renderLeft = _a.renderLeft, renderRight = _a.renderRight, renderedValue = _a.renderedValue, fullWidth = _a.fullWidth, disabled = _a.disabled, hint = _a.hint, required = _a.required, className = _a.className, inputProps = _a.inputProps, valueProp = _a.value, placeholderProp = _a.placeholder, defaultValue = _a.defaultValue, onFocus = _a.onFocus, onBlur = _a.onBlur, onClick = _a.onClick, onKeyDown = _a.onKeyDown, labelProps = _a.labelProps, fieldProps = _a.fieldProps, labelRef = _a.labelRef, inputRef = _a.inputRef, fieldRef = _a.fieldRef, bodyProps = _a.bodyProps, other = tslib_1.__rest(_a, ["size", "multiline", "open", "label", "error", "id", "name", "renderLeft", "renderRight", "renderedValue", "fullWidth", "disabled", "hint", "required", "className", "inputProps", "value", "placeholder", "defaultValue", "onFocus", "onBlur", "onClick", "onKeyDown", "labelProps", "fieldProps", "labelRef", "inputRef", "fieldRef", "bodyProps"]);
20
+ var _d = tslib_1.__read((0, useBoolean_1.useBoolean)(), 2), focused = _d[0], _e = _d[1], on = _e.on, off = _e.off;
21
+ var filled = !!valueProp || valueProp === 0;
22
+ var handleFocus = (0, react_1.useCallback)(function (e) {
23
+ on();
24
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
25
+ }, [onFocus]);
26
+ var handleBlur = (0, react_1.useCallback)(function (e) {
27
+ off();
28
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
29
+ }, [onBlur]);
30
+ return (react_1.default.createElement(FieldControl_1.FieldControl, tslib_1.__assign({ error: error, size: size, filled: filled, focused: focused, disabled: disabled, fullWidth: fullWidth, required: required }, other, { className: (0, index_1.cnSelect)({
28
31
  multiline: multiline,
29
- focused: focused,
30
32
  }, [className]), ref: ref }),
31
- react_1.default.createElement("div", tslib_1.__assign({ tabIndex: disabled ? -1 : 0, role: "button", onClick: onClick, onFocus: onFocus, onBlur: onBlur, onKeyDown: onKeyDown, "aria-haspopup": "listbox", "aria-expanded": open }, bodyProps, { className: (0, index_1.cnSelect)('Body', [bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.className]), ref: (0, useMultiRef_1.useMultiRef)([bodyRef, bodyRefProp]) }),
32
- react_1.default.createElement(FieldIcon_1.FieldIcon, { className: (0, index_1.cnSelect)('RenderLeft'), icon: renderLeft, size: size }),
33
+ react_1.default.createElement("div", tslib_1.__assign({ role: "button", "aria-haspopup": "listbox", "aria-expanded": open }, bodyProps, { onClick: onClick, onKeyDown: onKeyDown, tabIndex: disabled ? -1 : 0, onFocus: handleFocus, onBlur: handleBlur, className: (0, index_1.cnSelect)('Body', [bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.className]) }),
34
+ react_1.default.createElement(FieldIcon_1.FieldIcon, { icon: renderLeft, className: (0, index_1.cnSelect)('RenderLeft') }),
33
35
  react_1.default.createElement("div", { className: (0, index_1.cnSelect)('FieldContainer') },
34
- label && (react_1.default.createElement(FieldLabel_1.FieldLabel, tslib_1.__assign({ filled: filled, focused: focused, required: required, disabled: disabled, size: size }, labelProps, { className: (0, index_1.cnSelect)('Label', [labelProps === null || labelProps === void 0 ? void 0 : labelProps.className]), ref: labelRef }), label)),
35
- react_1.default.createElement("div", tslib_1.__assign({}, fieldProps, { className: (0, index_1.cnSelect)('Field', { filled: filled, asPlaceholder: !!placeholder }, [fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.className]), ref: fieldRef }), placeholder || renderedValue),
36
- react_1.default.createElement("input", tslib_1.__assign({ id: id, name: name, defaultValue: defaultValue, value: valueProp, disabled: disabled, required: required, tabIndex: -1, "aria-hidden": true, readOnly: true }, inputProps, { className: (0, index_1.cnSelect)('Input', [inputProps === null || inputProps === void 0 ? void 0 : inputProps.className]), ref: inputRef }))),
37
- react_1.default.createElement(FieldIcon_1.FieldIcon, { className: (0, index_1.cnSelect)('RenderRight'), icon: renderRight, size: size }),
38
- react_1.default.createElement(FieldIcon_1.FieldIcon, { className: (0, classnames_1.classnames)((0, index_1.cnSelect)('RenderRight'), (0, index_1.cnSelect)('DropDownIcon', { open: open })), icon: icons_1.ChevronDownIcon, size: size }),
36
+ react_1.default.createElement(FieldLabel_1.FieldLabel, tslib_1.__assign({}, labelProps, { className: (0, index_1.cnSelect)('Label', [labelProps === null || labelProps === void 0 ? void 0 : labelProps.className]), ref: (labelProps === null || labelProps === void 0 ? void 0 : labelProps.ref) || labelRef }), label),
37
+ react_1.default.createElement(SelectConsumer_1.SelectInputConsumer, { id: id, name: name, value: valueProp, defaultValue: defaultValue, placeholder: placeholderProp, fieldProps: fieldProps, inputProps: inputProps, fieldRef: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.ref) || fieldRef, inputRef: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.ref) || inputRef, renderedValue: renderedValue })),
38
+ react_1.default.createElement(FieldIcon_1.FieldIcon, { icon: renderRight, className: (0, index_1.cnSelect)('RenderRight') }),
39
+ react_1.default.createElement(FieldIcon_1.FieldIcon, { icon: icons_1.ChevronDownIcon, className: (0, classnames_1.classnames)((0, index_1.cnSelect)('RenderRight'), (0, index_1.cnSelect)('DropDownIcon', { open: open })) }),
39
40
  react_1.default.createElement(Fieldset_1.Fieldset, { className: (0, index_1.cnSelect)('Fieldset') })),
40
- react_1.default.createElement(FieldHint_1.FieldHint, { size: size, error: error, disabled: disabled }, hint)));
41
+ react_1.default.createElement(FieldHint_1.FieldHint, null, hint)));
41
42
  });
42
43
  exports.SelectInput.displayName = 'SelectInput';
@@ -1 +1,2 @@
1
1
  export * from './SelectInput';
2
+ export * from './types';
@@ -2,3 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./SelectInput"), exports);
5
+ tslib_1.__exportStar(require("./types"), exports);
@@ -0,0 +1,89 @@
1
+ import type { Ref, ReactNode, ComponentPropsWithRef } from 'react';
2
+ import type { FormElementSizeVariant } from '../../../../types/FormElementSizeVariant';
3
+ import type { FieldIconProps } from '../../../FieldIcon';
4
+ import type { FieldLabelProps } from '../../../FieldLabel';
5
+ export type SelectInputSizeVariant = FormElementSizeVariant;
6
+ type LabelProps = FieldLabelProps;
7
+ type InputProps = ComponentPropsWithRef<'input'> & {
8
+ 'data-testid'?: string;
9
+ };
10
+ type BodyProps = ComponentPropsWithRef<'div'> & {
11
+ 'data-testid'?: string;
12
+ };
13
+ type FieldProps = ComponentPropsWithRef<'div'> & {
14
+ 'data-testid'?: string;
15
+ };
16
+ type SelectInputPropsDeprecated = {
17
+ /**
18
+ * Ссылка на Field
19
+ * @deprecated Используйте fieldProps.ref
20
+ * */
21
+ fieldRef?: Ref<HTMLDivElement>;
22
+ /**
23
+ * Ссылка на элемент input
24
+ * @deprecated Используйте inputProps.ref
25
+ * */
26
+ inputRef?: Ref<HTMLInputElement>;
27
+ /**
28
+ * Ссылка на FieldLabel
29
+ * @deprecated Используйте labelProps.ref
30
+ * */
31
+ labelRef?: FieldLabelProps['ref'];
32
+ /**
33
+ * Ссылка на Body
34
+ * @deprecated Используйте bodyProps.ref
35
+ * */
36
+ bodyRef?: Ref<HTMLDivElement>;
37
+ };
38
+ export type SelectInputProps = Omit<ComponentPropsWithRef<'div'>, 'value' | 'defaultValue' | 'onChange'> & {
39
+ /** Атрибут id для элемента input */
40
+ id?: string;
41
+ /** Атрибут name для элемента input */
42
+ name?: string;
43
+ /** Лейбл */
44
+ label?: string;
45
+ /** Размер компонента */
46
+ size?: SelectInputSizeVariant;
47
+ /** Подсказка. Отображается, когда вариант не выбран */
48
+ placeholder?: string;
49
+ /** Если {true} устанавливает автофокус */
50
+ autoFocus?: boolean;
51
+ /** Если {true} переводит поле в состояние ошибки */
52
+ error?: boolean;
53
+ /** Если {true} растягивает поле на всю ширину */
54
+ fullWidth?: boolean;
55
+ /** Дополнительное описание к полю */
56
+ hint?: string | null | undefined;
57
+ /** Если {true} делает элемент неактивным */
58
+ disabled?: boolean;
59
+ /** Если {true} делает элемент обязательным к заполнению */
60
+ required?: boolean;
61
+ /** Если {true} предотвращает сокращение текста в значении и
62
+ * задает гибкую высоту контейнера компонента */
63
+ multiline?: boolean;
64
+ /** Текст или иконка слева */
65
+ renderLeft?: FieldIconProps['icon'];
66
+ /** Текст или иконка справа */
67
+ renderRight?: FieldIconProps['icon'];
68
+ /** Значение для отображения */
69
+ renderedValue?: ReactNode;
70
+ /** Выбранное значение */
71
+ value?: InputProps['value'];
72
+ /** Значение умолчанию (неконтролируемый компонент) */
73
+ defaultValue?: InputProps['defaultValue'];
74
+ /** Свойства Field */
75
+ fieldProps?: FieldProps;
76
+ /** Свойства элемента input */
77
+ inputProps?: InputProps;
78
+ /** Свойства FieldLabel */
79
+ labelProps?: LabelProps;
80
+ /** Свойства Body */
81
+ bodyProps?: BodyProps;
82
+ /** Признак раскрытого списка */
83
+ open?: boolean;
84
+ /** Идентификатор компонента для тестов */
85
+ 'data-testid'?: string;
86
+ /** Содержимое компонента */
87
+ children?: never;
88
+ } & SelectInputPropsDeprecated;
89
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +1 @@
1
1
  export * from './SelectInput';
2
- export * from './SelectCheckIcon';
@@ -2,4 +2,3 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./SelectInput"), exports);
5
- tslib_1.__exportStar(require("./SelectCheckIcon"), exports);
@@ -4,4 +4,4 @@ export declare const SELECT_DEFAULT_DISABLED = false;
4
4
  export declare const SELECT_DEFAULT_REQUIRED = false;
5
5
  export declare const SELECT_DEFAULT_MULTILINE = false;
6
6
  export declare const SELECT_DEFAULT_DEFAULT_OPEN = false;
7
- export declare const SELECT_DEFAULT_AUTO_SIZE = "m";
7
+ export declare const SELECT_DEFAULT_SIZE = "m";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SELECT_DEFAULT_AUTO_SIZE = exports.SELECT_DEFAULT_DEFAULT_OPEN = exports.SELECT_DEFAULT_MULTILINE = exports.SELECT_DEFAULT_REQUIRED = exports.SELECT_DEFAULT_DISABLED = exports.SELECT_DEFAULT_FULL_WIDTH = exports.SELECT_DEFAULT_AUTO_FOCUS = void 0;
3
+ exports.SELECT_DEFAULT_SIZE = exports.SELECT_DEFAULT_DEFAULT_OPEN = exports.SELECT_DEFAULT_MULTILINE = exports.SELECT_DEFAULT_REQUIRED = exports.SELECT_DEFAULT_DISABLED = exports.SELECT_DEFAULT_FULL_WIDTH = exports.SELECT_DEFAULT_AUTO_FOCUS = void 0;
4
4
  exports.SELECT_DEFAULT_AUTO_FOCUS = false;
5
5
  exports.SELECT_DEFAULT_FULL_WIDTH = false;
6
6
  exports.SELECT_DEFAULT_DISABLED = false;
7
7
  exports.SELECT_DEFAULT_REQUIRED = false;
8
8
  exports.SELECT_DEFAULT_MULTILINE = false;
9
9
  exports.SELECT_DEFAULT_DEFAULT_OPEN = false;
10
- exports.SELECT_DEFAULT_AUTO_SIZE = 'm';
10
+ exports.SELECT_DEFAULT_SIZE = 'm';
@@ -0,0 +1 @@
1
+ export * from './types';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
@@ -0,0 +1,8 @@
1
+ import type { SelectPropLabel, SelectProps, SelectPropValue } from '../types';
2
+ export type SelectedParams<MULTIPLE extends boolean = false> = {
3
+ multiple: SelectProps<MULTIPLE>['multiple'];
4
+ value?: SelectPropValue<MULTIPLE>;
5
+ label?: SelectPropLabel<MULTIPLE>;
6
+ };
7
+ export declare const isMultipleParams: (params: SelectedParams<boolean>) => params is SelectedParams<true>;
8
+ export declare const isNotMultipleParams: (params: SelectedParams<boolean>) => params is SelectedParams<false>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNotMultipleParams = exports.isMultipleParams = void 0;
4
+ var isMultipleParams = function (params) { return !!params.multiple; };
5
+ exports.isMultipleParams = isMultipleParams;
6
+ var isNotMultipleParams = function (params) { return !params.multiple; };
7
+ exports.isNotMultipleParams = isNotMultipleParams;
@@ -1,3 +1,4 @@
1
- export { MenuItem as Option, MenuItemText as OptionItemText, MenuItemIcon as OptionItemIcon, } from '../Menu';
1
+ export { DataListOption as Option } from '../DataList';
2
+ export { ListItemText as OptionItemText, ListItemIcon as OptionItemIcon, } from '../List';
2
3
  export * from './Select';
3
4
  export * from './types';
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OptionItemIcon = exports.OptionItemText = exports.Option = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var Menu_1 = require("../Menu");
6
- Object.defineProperty(exports, "Option", { enumerable: true, get: function () { return Menu_1.MenuItem; } });
7
- Object.defineProperty(exports, "OptionItemText", { enumerable: true, get: function () { return Menu_1.MenuItemText; } });
8
- Object.defineProperty(exports, "OptionItemIcon", { enumerable: true, get: function () { return Menu_1.MenuItemIcon; } });
5
+ var DataList_1 = require("../DataList");
6
+ Object.defineProperty(exports, "Option", { enumerable: true, get: function () { return DataList_1.DataListOption; } });
7
+ var List_1 = require("../List");
8
+ Object.defineProperty(exports, "OptionItemText", { enumerable: true, get: function () { return List_1.ListItemText; } });
9
+ Object.defineProperty(exports, "OptionItemIcon", { enumerable: true, get: function () { return List_1.ListItemIcon; } });
9
10
  tslib_1.__exportStar(require("./Select"), exports);
10
11
  tslib_1.__exportStar(require("./types"), exports);
@@ -1,15 +1,17 @@
1
- import type { HTMLAttributes, SyntheticEvent, ReactNode } from 'react';
1
+ import type { SyntheticEvent, ReactNode, ReactElement, ComponentPropsWithRef } from 'react';
2
2
  import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
3
- import type { MenuProps } from '../Menu';
3
+ import type { DataListBaseProps, DataListSelected } from '../DataList';
4
4
  import type { SelectInputProps } from './components';
5
5
  export type SelectSizeVariant = FormElementSizeVariant;
6
- export type SelectPropLabel = string;
7
- export type SelectPropValue = string | number | undefined;
8
- export type SelectedOptionProp = {
9
- label?: SelectPropLabel;
10
- value?: SelectPropValue;
6
+ export type SelectLabel = string | number | undefined;
7
+ export type SelectPropLabel<MULTIPLE extends boolean> = (MULTIPLE extends true ? SelectLabel[] : SelectLabel) | undefined;
8
+ export type SelectValue = string | number | undefined;
9
+ export type SelectPropValue<MULTIPLE extends boolean> = DataListSelected<MULTIPLE>;
10
+ export type SelectedOptionProp<MULTIPLE extends boolean> = {
11
+ label?: SelectPropLabel<MULTIPLE>;
12
+ value?: SelectPropValue<MULTIPLE>;
11
13
  };
12
- export type SelectRenderValue = (option: SelectedOptionProp) => ReactNode | null;
14
+ export type SelectRenderValue<MULTIPLE extends boolean> = (option: SelectedOptionProp<MULTIPLE>) => ReactNode | null;
13
15
  type SelectOpenControlledProps = {
14
16
  /** Текущее состояние списка. Если `true`, список отображается. */
15
17
  open?: boolean;
@@ -22,37 +24,48 @@ type SelectOpenUncontrolledProps = {
22
24
  /** Состояние открытие по умолчанию (неконтролируемый компонент) */
23
25
  defaultOpen: boolean;
24
26
  };
25
- type SelectControlledProps = {
27
+ type SelectControlledProps<MULTIPLE extends boolean = false> = {
26
28
  /** Выбранное значение */
27
- value?: SelectPropValue;
29
+ value?: SelectPropValue<MULTIPLE>;
28
30
  /** Обработчик события на изменение выбранного значения */
29
- onChange?: (value: SelectPropValue, e: SyntheticEvent) => void;
31
+ onChange?: (value: SelectPropValue<MULTIPLE>, e: SyntheticEvent | KeyboardEvent) => void;
30
32
  /** Значение поля по умолчанию (неконтролируемый компонент) */
31
33
  defaultValue?: never;
32
34
  };
33
- type SelectUncontrolledProps = {
35
+ type SelectUncontrolledProps<MULTIPLE extends boolean = false> = {
34
36
  /** Значение поля по умолчанию (неконтролируемый компонент) */
35
- defaultValue: SelectPropValue;
37
+ defaultValue: SelectPropValue<MULTIPLE>;
36
38
  /** Выбранное значение */
37
39
  value?: never;
38
40
  /** Обработчик события на изменение выбранного значения */
39
41
  onChange?: never;
40
42
  };
41
- export type SelectProps = {
43
+ type SelectPropsDeprecated<MULTIPLE extends boolean = false> = {
44
+ /**
45
+ * Свойства компонента Menu
46
+ * @deprecated Используйте dataListProps
47
+ * */
48
+ menuProps?: Partial<Omit<DataListBaseProps<MULTIPLE>, 'onClose' | 'open' | 'anchorRef' | 'multiple' | 'selected' | 'onSelect'>>;
49
+ };
50
+ export type SelectProps<MULTIPLE extends boolean = false> = {
42
51
  /** Если {true} устанавливает автофокус */
43
52
  autoFocus?: boolean;
44
53
  /** Размер компонента */
45
54
  size?: SelectSizeVariant;
46
55
  /** Рендер-функция для выбранного значения */
47
- renderValue?: SelectRenderValue;
56
+ renderValue?: SelectRenderValue<MULTIPLE>;
48
57
  /** Содержимое компонента */
49
58
  children?: ReactNode;
50
- /** Свойства компонента Menu */
51
- menuProps?: Omit<MenuProps, 'onClose' | 'open' | 'anchorRef'>;
59
+ /** Свойства компонента DataList */
60
+ dataListProps?: Partial<Omit<DataListBaseProps<MULTIPLE>, 'onClose' | 'open' | 'anchorRef' | 'multiple' | 'selected' | 'onSelect'>>;
52
61
  /** Функция обратного вызова, которая будет вызвана когда компонент запрашивает закрытие */
53
62
  onClose?: () => void;
54
63
  /** Функция обратного вызова, которая будет вызвана когда компонент запрашивает открытие */
55
64
  onOpen?: () => void;
65
+ /** Если {true} из списка можно выбрать несколько вариантов */
66
+ multiple?: MULTIPLE;
67
+ /** Идентификатор компонента для тестов */
56
68
  'data-testid'?: string;
57
- } & Pick<SelectInputProps, 'id' | 'name' | 'inputProps' | 'inputRef' | 'label' | 'placeholder' | 'disabled' | 'required' | 'error' | 'hint' | 'fullWidth' | 'renderLeft' | 'renderRight' | 'multiline' | 'labelProps' | 'labelRef'> & Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> & (SelectControlledProps | SelectUncontrolledProps) & (SelectOpenControlledProps | SelectOpenUncontrolledProps);
69
+ } & Pick<SelectInputProps, 'id' | 'name' | 'label' | 'placeholder' | 'disabled' | 'required' | 'error' | 'hint' | 'fullWidth' | 'renderLeft' | 'renderRight' | 'multiline' | 'inputProps' | 'labelProps' | 'bodyProps' | 'inputRef' | 'labelRef' | 'bodyRef'> & Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue'> & SelectPropsDeprecated<MULTIPLE> & (SelectControlledProps<MULTIPLE> | SelectUncontrolledProps<MULTIPLE>) & (SelectOpenControlledProps | SelectOpenUncontrolledProps);
70
+ export type SelectComponent = <MULTIPLE extends boolean = false>(props: SelectProps<MULTIPLE>) => ReactElement | null;
58
71
  export {};
@@ -15,7 +15,7 @@ exports.Textarea = (0, react_1.forwardRef)(function (inProps, ref) {
15
15
  props: inProps,
16
16
  name: 'Textarea',
17
17
  });
18
- var _a = props.size, size = _a === void 0 ? constants_1.TEXTAREA_DEFAULT_SIZE : _a, autoFocus = props.autoFocus, maxLength = props.maxLength, expand = props.expand, placeholder = props.placeholder, id = props.id, name = props.name, error = props.error, fullWidth = props.fullWidth, cols = props.cols, rows = props.rows, className = props.className, label = props.label, hint = props.hint, value = props.value, defaultValue = props.defaultValue, onChange = props.onChange, required = props.required, textareaRef = props.textareaRef, disabled = props.disabled, textareaProps = props.textareaProps, labelRef = props.labelRef, labelProps = props.labelProps, other = tslib_1.__rest(props, ["size", "autoFocus", "maxLength", "expand", "placeholder", "id", "name", "error", "fullWidth", "cols", "rows", "className", "label", "hint", "value", "defaultValue", "onChange", "required", "textareaRef", "disabled", "textareaProps", "labelRef", "labelProps"]);
18
+ var _a = props.size, size = _a === void 0 ? constants_1.TEXTAREA_DEFAULT_SIZE : _a, autoFocus = props.autoFocus, maxLength = props.maxLength, expand = props.expand, placeholder = props.placeholder, id = props.id, name = props.name, error = props.error, fullWidth = props.fullWidth, cols = props.cols, rows = props.rows, className = props.className, label = props.label, hint = props.hint, value = props.value, defaultValue = props.defaultValue, onChange = props.onChange, required = props.required, disabled = props.disabled, textareaProps = props.textareaProps, labelProps = props.labelProps, labelRef = props.labelRef, textareaRef = props.textareaRef, other = tslib_1.__rest(props, ["size", "autoFocus", "maxLength", "expand", "placeholder", "id", "name", "error", "fullWidth", "cols", "rows", "className", "label", "hint", "value", "defaultValue", "onChange", "required", "disabled", "textareaProps", "labelProps", "labelRef", "textareaRef"]);
19
19
  return (react_1.default.createElement(FieldControl_1.FieldControl, tslib_1.__assign({ size: size, error: error, disabled: disabled, required: required, fullWidth: fullWidth }, other, { className: (0, exports.cnTextarea)({
20
20
  expand: expand,
21
21
  }, [className]), ref: ref }),
@@ -7,13 +7,13 @@ export declare const textareaExpandVariant: readonly ["autoSize", "verticalResiz
7
7
  export type TextareaExpandVariant = (typeof textareaExpandVariant)[number];
8
8
  type TextareaPropsDeprecated = {
9
9
  /**
10
- * deprecated
11
10
  * Ссылка на FieldLabel
11
+ * @deprecated Используйте labelProps.ref
12
12
  * */
13
13
  labelRef?: FieldLabelProps['ref'];
14
14
  /**
15
- * deprecated
16
15
  * Ссылка на элемент textarea
16
+ * @deprecated Используйте textareaProps.ref
17
17
  * */
18
18
  textareaRef?: Ref<HTMLTextAreaElement>;
19
19
  };
@@ -1,7 +1,6 @@
1
- type ScrollContainerToElement = {
2
- container?: HTMLElement;
3
- element?: HTMLElement;
1
+ export type ScrollContainerToElement = {
2
+ container?: HTMLElement | null;
3
+ element?: HTMLElement | null;
4
4
  behavior?: ScrollBehavior;
5
5
  };
6
6
  export declare function scrollContainerToElement({ container, element, behavior, }: ScrollContainerToElement): void;
7
- export {};
@@ -1,10 +1,10 @@
1
- .DataList-List {
2
- --scroll-bar-size: 12px;
3
- }
4
- .DataList-List::-webkit-scrollbar {
1
+ .DataList {
2
+ --scroll-bar-size: 12px;
3
+ }
4
+ .DataList::-webkit-scrollbar {
5
5
  inline-size: var(--scroll-bar-size);
6
6
  }
7
- .DataList-List::-webkit-scrollbar-thumb {
7
+ .DataList::-webkit-scrollbar-thumb {
8
8
  background-color: var(--color-background-secondary);
9
9
  border-radius: calc(var(--scroll-bar-size) / 2);
10
10
  border: calc(var(--scroll-bar-size) / 4) solid transparent;
@@ -12,57 +12,30 @@
12
12
  border-image: initial;
13
13
  min-block-size: 24px;
14
14
  }
15
- .DataList-List::-webkit-scrollbar-thumb:hover,
16
- .DataList-List::-webkit-scrollbar-thumb:active {
15
+ .DataList::-webkit-scrollbar-thumb:hover,
16
+ .DataList::-webkit-scrollbar-thumb:active {
17
17
  border: calc(var(--scroll-bar-size) / 4) solid transparent;
18
18
  background-clip: padding-box;
19
19
  }
20
- .DataList-List::-webkit-scrollbar-thumb:hover {
20
+ .DataList::-webkit-scrollbar-thumb:hover {
21
21
  background-color: var(--color-background-secondary-hover);
22
22
  }
23
- .DataList-List::-webkit-scrollbar-thumb:active {
23
+ .DataList::-webkit-scrollbar-thumb:active {
24
24
  background-color: var(--color-background-secondary-pressed);
25
25
  }
26
- .DataList-List::-webkit-scrollbar-corner {
26
+ .DataList::-webkit-scrollbar-corner {
27
27
  background: transparent;
28
28
  }
29
- .DataList-List {
30
- overflow: hidden auto;
31
- max-block-size: 40vb;
29
+ .DataList {
30
+ overflow: hidden auto;
31
+ max-block-size: 40vb;
32
32
  }
33
- .DataList-Option {
34
- cursor: pointer;
35
- }
36
- .DataList-Option_focused {
37
- box-shadow: inset var(--shadow-outline-focused);
38
- }
39
- .DataList-Option_highlighted {
40
- background-color: var(--color-background-main-hover);
41
- }
42
- .DataList-Option_disabled {
43
- cursor: not-allowed;
44
- }
45
- .DataList-Option_disabled .ListItemText-TextPrimary,
46
- .DataList-Option_disabled .ListItemText-TextSecondary {
47
- color: var(--color-content-tertiary);
48
- }
49
- .DataList-IconWrapper {
50
- min-inline-size: var(--select-check-icon-size);
51
- min-block-size: var(--select-check-icon-size);
52
- display: flex;
53
- }
54
- .DataList-IconWrapper_size_s {
55
- --select-check-icon-size: 16px;
56
- }
57
- .DataList-IconWrapper_size_m {
58
- --select-check-icon-size: 24px;
59
- }
60
- .DataList_animation-enter {
33
+ .DataList-animation-enter {
61
34
  opacity: 0;
62
35
  transform: translate(0, calc(var(--space-s) * -1));
63
36
  pointer-events: none;
64
37
  }
65
- .DataList_animation-enter-active {
38
+ .DataList-animation-enter-active {
66
39
  opacity: 1;
67
40
  transition:
68
41
  opacity var(--transition-default),
@@ -70,16 +43,16 @@
70
43
  transform: translate(0);
71
44
  pointer-events: none;
72
45
  }
73
- .DataList_animation-enter-done {
46
+ .DataList-animation-enter-done {
74
47
  opacity: 1;
75
48
  transform: translate(0);
76
49
  }
77
- .DataList_animation-exit {
50
+ .DataList-animation-exit {
78
51
  opacity: 1;
79
52
  transform: translate(0);
80
53
  pointer-events: none;
81
54
  }
82
- .DataList_animation-exit-active {
55
+ .DataList-animation-exit-active {
83
56
  opacity: 0;
84
57
  transition:
85
58
  opacity var(--transition-default),
@@ -87,7 +60,7 @@
87
60
  transform: translate(0, calc(var(--space-s) * -1));
88
61
  pointer-events: none;
89
62
  }
90
- .DataList_animation-exit-done {
63
+ .DataList-animation-exit-done {
91
64
  opacity: 0;
92
65
  transform: translate(0, calc(var(--space-s) * -1));
93
66
  pointer-events: none;