colibri-ui 0.7.79 → 0.7.81

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 (79) hide show
  1. package/Accordion/Accordion.module.css +51 -0
  2. package/Accordion/index.d.ts +9 -0
  3. package/Accordion/index.js +67 -0
  4. package/Accordion/package.json +6 -0
  5. package/Avatar/Avatar.module.css +2 -2
  6. package/Avatar/index.d.ts +2 -2
  7. package/Avatar/index.js +4 -4
  8. package/Avatar/index.props.d.ts +1 -1
  9. package/Badge/index.js +1 -1
  10. package/Button/Button.module.css +2 -2
  11. package/Button/index.js +5 -2
  12. package/Button/index.props.d.ts +1 -0
  13. package/Calendar/components/Month/Month.js +2 -0
  14. package/Calendar/index.js +12 -6
  15. package/Checkbox/index.js +1 -1
  16. package/Chip/Chip.module.css +7 -4
  17. package/Chip/index.d.ts +2 -12
  18. package/Chip/index.js +1 -1
  19. package/Chip/index.props.d.ts +12 -0
  20. package/Dropdown/index.js +9 -7
  21. package/InputRadio/index.js +1 -1
  22. package/Menu/components/MenuItem/index.js +2 -1
  23. package/Menu/index.js +1 -1
  24. package/Modal/index.js +2 -2
  25. package/Select/components/MenuOverlay/index.js +5 -3
  26. package/Select/index.js +2 -2
  27. package/TabsMenu/Tab/Tab.d.ts +4 -0
  28. package/TabsMenu/Tab/Tab.module.css +61 -0
  29. package/TabsMenu/Tab/Tab.props.d.ts +16 -0
  30. package/TabsMenu/TabsMenu.module.css +4 -0
  31. package/TabsMenu/index.d.ts +4 -0
  32. package/TabsMenu/index.props.d.ts +12 -0
  33. package/TabsMenu/package.json +6 -0
  34. package/Tooltip/index.js +1 -1
  35. package/Tooltip/index.props.d.ts +0 -1
  36. package/base/FormField/index.js +2 -2
  37. package/base/InputRoot/index.js +1 -1
  38. package/esm/Accordion/Accordion.module.css +51 -0
  39. package/esm/Accordion/index.d.ts +9 -0
  40. package/esm/Accordion/index.js +57 -0
  41. package/esm/Avatar/Avatar.module.css +2 -2
  42. package/esm/Avatar/index.d.ts +2 -2
  43. package/esm/Avatar/index.js +3 -3
  44. package/esm/Avatar/index.props.d.ts +1 -1
  45. package/esm/Badge/index.js +1 -1
  46. package/esm/Button/Button.module.css +2 -2
  47. package/esm/Button/index.js +5 -2
  48. package/esm/Button/index.props.d.ts +1 -0
  49. package/esm/Calendar/components/Month/Month.js +2 -0
  50. package/esm/Calendar/index.js +12 -6
  51. package/esm/Checkbox/index.js +1 -1
  52. package/esm/Chip/Chip.module.css +7 -4
  53. package/esm/Chip/index.d.ts +2 -12
  54. package/esm/Chip/index.js +1 -1
  55. package/esm/Chip/index.props.d.ts +12 -0
  56. package/esm/Dropdown/index.js +8 -6
  57. package/esm/InputRadio/index.js +1 -1
  58. package/esm/Menu/components/MenuItem/index.js +2 -1
  59. package/esm/Menu/index.js +1 -1
  60. package/esm/Modal/index.js +2 -2
  61. package/esm/Select/components/MenuOverlay/index.js +5 -3
  62. package/esm/Select/index.js +2 -2
  63. package/esm/TabsMenu/Tab/Tab.d.ts +4 -0
  64. package/esm/TabsMenu/Tab/Tab.module.css +61 -0
  65. package/esm/TabsMenu/Tab/Tab.props.d.ts +16 -0
  66. package/esm/TabsMenu/TabsMenu.module.css +4 -0
  67. package/esm/TabsMenu/index.d.ts +4 -0
  68. package/esm/TabsMenu/index.props.d.ts +12 -0
  69. package/esm/Tooltip/index.js +1 -1
  70. package/esm/Tooltip/index.props.d.ts +0 -1
  71. package/esm/base/FormField/index.js +2 -2
  72. package/esm/base/InputRoot/index.js +1 -1
  73. package/esm/index.d.ts +1 -0
  74. package/esm/index.js +1 -0
  75. package/esm/lib/keyboard.d.ts +4 -0
  76. package/index.d.ts +1 -0
  77. package/index.js +61 -59
  78. package/lib/keyboard.d.ts +4 -0
  79. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ .root {
2
+ overflow: hidden;
3
+ padding: 14px;
4
+ }
5
+
6
+ .content {
7
+ block-size: 0;
8
+ overflow: hidden;
9
+ transition: block-size 0.2s ease-in-out;
10
+ }
11
+
12
+ .button {
13
+ align-items: center;
14
+ background: none;
15
+ border: none;
16
+ color: initial;
17
+ cursor: pointer;
18
+ display: flex;
19
+ font: inherit;
20
+ gap: 8px;
21
+ inline-size: 100%;
22
+ outline: none;
23
+ padding: 0;
24
+ }
25
+ .button svg {
26
+ flex: none;
27
+ }
28
+
29
+ .text {
30
+ overflow: hidden;
31
+ text-overflow: ellipsis;
32
+ white-space: nowrap;
33
+ }
34
+
35
+ .header {
36
+ margin-block-end: 14px;
37
+ }
38
+
39
+ .chevron {
40
+ transition: transform 0.2s ease-in-out;
41
+ }
42
+ .chevron_open {
43
+ transform: rotate(180deg);
44
+ }
45
+
46
+ .line {
47
+ background-color: var(--palette-bg-3);
48
+ block-size: 1px;
49
+ flex: 1;
50
+ margin-inline-start: 8px;
51
+ }
@@ -0,0 +1,9 @@
1
+ import type { FC, ReactNode, PropsWithChildren } from "react";
2
+ type Props = {
3
+ title: ReactNode;
4
+ className?: string;
5
+ boldTitle?: boolean;
6
+ tabIndex?: number;
7
+ };
8
+ declare const Accordion: FC<PropsWithChildren<Props>>;
9
+ export default Accordion;
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var classNames = require('classnames/bind');
7
+ require('../Icons/index.js');
8
+ var index = require('../Typography/index.js');
9
+ var styles = require('./Accordion.module.css');
10
+ var Chevron = require('../Icons/Chevron.js');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+ var classNames__default = /*#__PURE__*/_interopDefault(classNames);
16
+ var styles__default = /*#__PURE__*/_interopDefault(styles);
17
+
18
+ var clx = classNames__default.default.bind(styles__default.default);
19
+ var Accordion = function Accordion(_a) {
20
+ var title = _a.title,
21
+ _b = _a.boldTitle,
22
+ boldTitle = _b === void 0 ? false : _b,
23
+ children = _a.children,
24
+ className = _a.className,
25
+ tabIndex = _a.tabIndex;
26
+ var _c = React.useState(false),
27
+ isOpen = _c[0],
28
+ setIsOpen = _c[1];
29
+ var contentRef = React.useRef(null);
30
+ var toggleAccordion = function toggleAccordion() {
31
+ return setIsOpen(!isOpen);
32
+ };
33
+ React.useEffect(function () {
34
+ if (contentRef.current) {
35
+ contentRef.current.style.blockSize = isOpen ? "".concat(contentRef.current.scrollHeight, "px") : "0px";
36
+ }
37
+ }, [isOpen]);
38
+ return /*#__PURE__*/React__default.default.createElement("div", {
39
+ className: clx("root", className)
40
+ }, /*#__PURE__*/React__default.default.createElement("div", {
41
+ className: clx("header")
42
+ }, /*#__PURE__*/React__default.default.createElement("button", {
43
+ className: clx("button"),
44
+ onClick: toggleAccordion,
45
+ type: "button",
46
+ role: "button",
47
+ "aria-expanded": isOpen,
48
+ tabIndex: tabIndex,
49
+ "aria-label": "Toggle"
50
+ }, /*#__PURE__*/React__default.default.createElement(Chevron.default, {
51
+ className: clx("chevron", {
52
+ chevron_open: isOpen
53
+ }),
54
+ width: 20,
55
+ height: 20
56
+ }), /*#__PURE__*/React__default.default.createElement(index.default, {
57
+ className: clx("text"),
58
+ fontWeight: boldTitle ? "bold" : "normal"
59
+ }, title), /*#__PURE__*/React__default.default.createElement("div", {
60
+ className: clx("line")
61
+ }))), /*#__PURE__*/React__default.default.createElement("div", {
62
+ ref: contentRef,
63
+ className: clx("content")
64
+ }, children));
65
+ };
66
+
67
+ exports.default = Accordion;
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../esm/Accordion/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -1,11 +1,11 @@
1
1
  .avatar {
2
- transition: border-color 0.15s ease;
3
2
  border-radius: 100%;
4
3
  box-sizing: border-box;
4
+ transition: border-color 0.15s ease;
5
5
  }
6
6
  .avatar_bordered {
7
- border: 4px solid transparent;
8
7
  background-color: var(--palette-white);
8
+ border: 4px solid transparent;
9
9
  }
10
10
  .avatar_bordered:hover {
11
11
  border-color: rgba(95, 99, 104, 0.24);
package/Avatar/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
2
- import { AvatarProps } from './index.props';
1
+ import type { AvatarProps } from "./index.props";
2
+ import type { FC } from "react";
3
3
  declare const Avatar: FC<AvatarProps>;
4
4
  export default Avatar;
package/Avatar/index.js CHANGED
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var classNames = require('classnames/bind');
6
7
  var constants = require('./constants.js');
7
8
  var maleCircle = require('./assets/male-circle.svg.js');
8
9
  var orgCircle = require('./assets/org-circle.svg.js');
9
10
  var styles = require('./Avatar.module.css');
10
- var classNames = require('classnames/bind');
11
11
  var index_props = require('./index.props.js');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
15
15
  var React__default = /*#__PURE__*/_interopDefault(React);
16
- var styles__default = /*#__PURE__*/_interopDefault(styles);
17
16
  var classNames__default = /*#__PURE__*/_interopDefault(classNames);
17
+ var styles__default = /*#__PURE__*/_interopDefault(styles);
18
18
 
19
19
  var clx = classNames__default.default.bind(styles__default.default);
20
20
  var Avatar = /*#__PURE__*/React.memo(function (props) {
@@ -24,7 +24,7 @@ var Avatar = /*#__PURE__*/React.memo(function (props) {
24
24
  className = props.className,
25
25
  bordered = props.bordered,
26
26
  _b = props.title,
27
- title = _b === void 0 ? '' : _b,
27
+ title = _b === void 0 ? "" : _b,
28
28
  _c = props.accountType,
29
29
  accountType = _c === void 0 ? index_props.AccountType.Organization : _c;
30
30
  var isOrg = accountType === index_props.AccountType.Organization;
@@ -35,7 +35,7 @@ var Avatar = /*#__PURE__*/React.memo(function (props) {
35
35
  width: size,
36
36
  height: size,
37
37
  className: clx(styles__default.default.avatar, {
38
- 'avatar_bordered': !!bordered
38
+ avatar_bordered: !!bordered
39
39
  }, [className])
40
40
  });
41
41
  });
@@ -1,4 +1,4 @@
1
- import { AvatarSizes } from "./constants";
1
+ import type { AvatarSizes } from "./constants";
2
2
  export declare enum AccountType {
3
3
  Person = "person",
4
4
  Organization = "org"
package/Badge/index.js CHANGED
@@ -46,7 +46,7 @@ var Badge = function Badge(_a) {
46
46
  className: clx((_b = {
47
47
  root: true
48
48
  }, _b["root_direction_".concat(direction)] = !!direction, _b.root_invisible = invisible, _b), className),
49
- "data-cy": "badge"
49
+ "data-testid": "badge"
50
50
  }, displayValue));
51
51
  };
52
52
 
@@ -175,7 +175,7 @@
175
175
  }
176
176
 
177
177
  .text {
178
- white-space: nowrap;
179
- text-overflow: ellipsis;
180
178
  overflow: hidden;
179
+ text-overflow: ellipsis;
180
+ white-space: nowrap;
181
181
  }
package/Button/index.js CHANGED
@@ -28,7 +28,8 @@ var Button = /*#__PURE__*/React.forwardRef(function (_a, ref) {
28
28
  children = _a.children,
29
29
  disabled = _a.disabled,
30
30
  onClick = _a.onClick,
31
- props = tslib.__rest(_a, ["className", "fullWidth", "variant", "iconStart", "iconEnd", "icon", "size", "children", "disabled", "onClick"]);
31
+ type = _a.type,
32
+ props = tslib.__rest(_a, ["className", "fullWidth", "variant", "iconStart", "iconEnd", "icon", "size", "children", "disabled", "onClick", "type"]);
32
33
  return /*#__PURE__*/React__default.default.createElement("button", tslib.__assign({
33
34
  onClick: onClick,
34
35
  ref: ref,
@@ -37,7 +38,9 @@ var Button = /*#__PURE__*/React.forwardRef(function (_a, ref) {
37
38
  root_fullWidth: !!fullWidth
38
39
  }, _b["size_".concat(size)] = !!size, _b["variant_".concat(variant)] = !!variant, _b["variant_".concat(variant, "_disabled")] = !!disabled, _b), className),
39
40
  disabled: disabled,
40
- "data-cy": "button"
41
+ "data-cy": "button",
42
+ type: type || "button",
43
+ role: "button"
41
44
  }, props), icon && /*#__PURE__*/React__default.default.createElement("span", {
42
45
  className: clx(styles__default.default.icon)
43
46
  }, icon), iconStart && /*#__PURE__*/React__default.default.createElement("span", {
@@ -9,4 +9,5 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
9
9
  iconEnd?: ReactNode;
10
10
  size?: ButtonSize;
11
11
  disabled?: boolean;
12
+ type?: "submit" | "reset" | "button" | undefined;
12
13
  }
@@ -126,6 +126,8 @@ var Month = function Month(props) {
126
126
  style: {
127
127
  background: day.isSelected ? "var(--palette-bg-2)" : "transparent"
128
128
  },
129
+ role: "button",
130
+ type: "button",
129
131
  onClick: day.isActive ? function () {
130
132
  return props.onDayClick([year, month, leadingZeros.leadingZeros(day.day, 2)].join("-"));
131
133
  } : undefined
package/Calendar/index.js CHANGED
@@ -152,7 +152,7 @@ var Calendar = function Calendar(_a) {
152
152
  className: clx(styles__default.default.root),
153
153
  "data-component": "Calendar",
154
154
  ref: $root
155
- }, /*#__PURE__*/React__default.default.createElement("div", null, contentWidth ? ( /*#__PURE__*/React__default.default.createElement("div", {
155
+ }, /*#__PURE__*/React__default.default.createElement("div", null, contentWidth ? (/*#__PURE__*/React__default.default.createElement("div", {
156
156
  "data-component": "Months",
157
157
  className: clx(styles__default.default.months),
158
158
  style: {
@@ -169,26 +169,32 @@ var Calendar = function Calendar(_a) {
169
169
  return /*#__PURE__*/React__default.default.createElement(Month.Month, tslib.__assign({}, attrs, {
170
170
  key: "month-".concat(index)
171
171
  }));
172
- }))) : ( /*#__PURE__*/React__default.default.createElement(Month.Month, tslib.__assign({
172
+ }))) : (/*#__PURE__*/React__default.default.createElement(Month.Month, tslib.__assign({
173
173
  today: today,
174
174
  startDate: getMonthStartDate(currentMonthOffset),
175
175
  offsetLeft: 0
176
176
  }, commonAttrs))), /*#__PURE__*/React__default.default.createElement("button", {
177
177
  className: clx(styles__default.default["month-control"], styles__default.default["month-control-prev"]),
178
178
  onClick: showPrevMonth,
179
- disabled: currentMonthOffset <= 0
179
+ disabled: currentMonthOffset <= 0,
180
+ type: "button",
181
+ role: "button",
182
+ "aria-label": "Prev"
180
183
  }, /*#__PURE__*/React__default.default.createElement(ArrowNext.default, {
181
184
  className: clx(styles__default.default["month-control-prev-arrow"])
182
185
  })), /*#__PURE__*/React__default.default.createElement("button", {
183
186
  className: clx(styles__default.default["month-control"], styles__default.default["month-control-next"]),
184
187
  onClick: showNextMonth,
185
- disabled: currentMonthOffset >= 11
188
+ disabled: currentMonthOffset >= 11,
189
+ type: "button",
190
+ role: "button",
191
+ "aria-label": "Next"
186
192
  }, /*#__PURE__*/React__default.default.createElement(ArrowNext.default, {
187
193
  className: clx(styles__default.default["month-control-next-arrow"])
188
- }))), datePresets && ( /*#__PURE__*/React__default.default.createElement(index$2.Presets, {
194
+ }))), datePresets && (/*#__PURE__*/React__default.default.createElement(index$2.Presets, {
189
195
  presets: datePresets,
190
196
  onPresetSelect: handlePresetSelect
191
- })), withContinueButton && ( /*#__PURE__*/React__default.default.createElement(index$3.ContinueButton, {
197
+ })), withContinueButton && (/*#__PURE__*/React__default.default.createElement(index$3.ContinueButton, {
192
198
  isChanged: selectedDate !== initialSelectedDate || selectedPeriod !== initialSelectedPeriod,
193
199
  selectedDate: selectedDate,
194
200
  selectedPeriod: selectedPeriod,
package/Checkbox/index.js CHANGED
@@ -52,7 +52,7 @@ var Checkbox = function Checkbox(_a) {
52
52
  }, label)));
53
53
  return /*#__PURE__*/React__default.default.createElement("div", {
54
54
  className: clx(styles__default.default.root)
55
- }, control, hint && ( /*#__PURE__*/React__default.default.createElement(index.default, {
55
+ }, control, hint && (/*#__PURE__*/React__default.default.createElement(index.default, {
56
56
  variant: isError ? "alert" : "secondary",
57
57
  tag: "span"
58
58
  }, hint)));
@@ -16,7 +16,7 @@
16
16
  transition-timing-function: ease;
17
17
  }
18
18
  .inner_active {
19
- background: rgb(237, 237, 237);
19
+ background: var(--palette-bg-1);
20
20
  }
21
21
  .inner_inactive {
22
22
  background: var(--palette-white);
@@ -43,15 +43,18 @@
43
43
  }
44
44
  .inner[data-size=s] {
45
45
  border-radius: 32px;
46
- height: 32px;
46
+ font-size: 15px;
47
+ line-height: 32px;
47
48
  }
48
49
  .inner[data-size=m] {
49
50
  border-radius: 36px;
50
- height: 36px;
51
+ font-size: 16px;
52
+ line-height: 36px;
51
53
  }
52
54
  .inner[data-size=l] {
53
55
  border-radius: 44px;
54
- height: 44px;
56
+ font-size: 18px;
57
+ line-height: 44px;
55
58
  }
56
59
 
57
60
  .content {
package/Chip/index.d.ts CHANGED
@@ -1,14 +1,4 @@
1
- import React from "react";
2
- import type { FC, ReactNode } from "react";
3
- type Size = "s" | "m" | "l";
4
- type Props = {
5
- size?: Size;
6
- testID?: string;
7
- isActive?: boolean;
8
- iconOnRight?: React.ReactNode;
9
- onClick?: () => void;
10
- onIconOnRightClick?: () => void;
11
- children?: ReactNode;
12
- };
1
+ import type { Props } from "./index.props";
2
+ import type { FC } from "react";
13
3
  declare const Chip: FC<Props>;
14
4
  export default Chip;
package/Chip/index.js CHANGED
@@ -38,7 +38,7 @@ var Chip = function Chip(props) {
38
38
  onClick: onClick
39
39
  }, /*#__PURE__*/React__default.default.createElement("span", {
40
40
  className: clx("content-inner")
41
- }, children)), iconOnRight && ( /*#__PURE__*/React__default.default.createElement("span", {
41
+ }, children)), iconOnRight && (/*#__PURE__*/React__default.default.createElement("span", {
42
42
  className: clx("icon-right"),
43
43
  onClick: onIconOnRightClick || onClick
44
44
  }, iconOnRight))));
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from "react";
2
+ type Size = "s" | "m" | "l";
3
+ export type Props = {
4
+ size?: Size;
5
+ testID?: string;
6
+ isActive?: boolean;
7
+ iconOnRight?: React.ReactNode;
8
+ onClick?: () => void;
9
+ onIconOnRightClick?: () => void;
10
+ children?: ReactNode;
11
+ };
12
+ export {};
package/Dropdown/index.js CHANGED
@@ -4,19 +4,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
+ var classNames = require('classnames/bind');
7
8
  var reactPopper = require('react-popper');
8
- var classNames = require('classnames');
9
9
  var index = require('../Portal/index.js');
10
10
  var on = require('../helpers/on.js');
11
11
  var index$1 = require('../ClickOutside/index.js');
12
- var dropDownStyles = require('./Dropdown.module.css');
12
+ var styles = require('./Dropdown.module.css');
13
13
 
14
14
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
15
 
16
16
  var React__default = /*#__PURE__*/_interopDefault(React);
17
17
  var classNames__default = /*#__PURE__*/_interopDefault(classNames);
18
- var dropDownStyles__default = /*#__PURE__*/_interopDefault(dropDownStyles);
18
+ var styles__default = /*#__PURE__*/_interopDefault(styles);
19
19
 
20
+ var clx = classNames__default.default.bind(styles__default.default);
20
21
  var Dropdown = function Dropdown(_a) {
21
22
  var children = _a.children,
22
23
  zIndex = _a.zIndex,
@@ -122,12 +123,12 @@ var Dropdown = function Dropdown(_a) {
122
123
  return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement(reference.type, tslib.__assign({
123
124
  ref: setControlElement,
124
125
  tabIndex: 0
125
- }, reference.props)), isVisible && ( /*#__PURE__*/React__default.default.createElement(index.default, null, /*#__PURE__*/React__default.default.createElement(index$1.default, {
126
+ }, reference.props)), isVisible && (/*#__PURE__*/React__default.default.createElement(index.default, null, /*#__PURE__*/React__default.default.createElement(index$1.default, {
126
127
  onClick: onClickOutside
127
128
  }, /*#__PURE__*/React__default.default.createElement("div", tslib.__assign({
128
129
  ref: setPopperElement,
129
- "data-component": "popper-container",
130
- className: classNames__default.default(dropDownStyles__default.default["popper-container"]),
130
+ "data-testid": "popper-container",
131
+ className: clx("popper-container"),
131
132
  style: tslib.__assign(tslib.__assign(tslib.__assign({}, styles.popper), {
132
133
  zIndex: zIndex,
133
134
  minWidth: controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth
@@ -136,7 +137,8 @@ var Dropdown = function Dropdown(_a) {
136
137
  }),
137
138
  tabIndex: 0
138
139
  }, attributes.popper), /*#__PURE__*/React__default.default.createElement("div", {
139
- className: classNames__default.default(dropDownStyles__default.default["overlay-container"]),
140
+ "data-testid": "overlay-container",
141
+ className: clx("overlay-container"),
140
142
  onClick: onClickOverlay
141
143
  }, overlay))))));
142
144
  };
@@ -66,7 +66,7 @@ var InputRadio = /*#__PURE__*/React.memo(function (_a) {
66
66
  className: clx(styles__default.default.icon)
67
67
  }), /*#__PURE__*/React__default.default.createElement("span", {
68
68
  className: clx(styles__default.default.text)
69
- }, !children && text, !text && children)), !!note && ( /*#__PURE__*/React__default.default.createElement(index.default, {
69
+ }, !children && text, !text && children)), !!note && (/*#__PURE__*/React__default.default.createElement(index.default, {
70
70
  tag: "p",
71
71
  size: "s",
72
72
  className: clx(styles__default.default.note)
@@ -26,8 +26,9 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_a, ref) {
26
26
  ref: ref,
27
27
  "data-component": "menu-item",
28
28
  style: {
29
- backgroundColor: isSelected ? "var(--palette-primary-1)" : ""
29
+ backgroundColor: isSelected ? "var(--palette-primary-1, rgb(232, 240, 254))" : "transparent"
30
30
  },
31
+ "data-testid": "menuitem",
31
32
  className: clx("item", (_b = {
32
33
  item_disabled: !!disabled
33
34
  }, _b["item_variant_".concat(variant)] = !!variant, _b), className),
package/Menu/index.js CHANGED
@@ -21,7 +21,7 @@ var Menu = /*#__PURE__*/React.forwardRef(function (_a, ref) {
21
21
  children = _a.children;
22
22
  var renderChild = React.useMemo(function () {
23
23
  return React.Children.map(children, function (child) {
24
- if ( /*#__PURE__*/React.isValidElement(child)) {
24
+ if (/*#__PURE__*/React.isValidElement(child)) {
25
25
  var isSelected = selected ? selected.includes(String(child.key)) : undefined;
26
26
  var onClickHandler = function onClickHandler(e) {
27
27
  if (child.props.onClick) child.props.onClick(e);
package/Modal/index.js CHANGED
@@ -57,11 +57,11 @@ var Modal = function Modal(_a) {
57
57
  "modal-wrapper_mobile": !isDesktop ? 1 : 0
58
58
  }, className),
59
59
  ref: modalRef
60
- }, title ? ( /*#__PURE__*/React__default.default.createElement("div", {
60
+ }, title ? (/*#__PURE__*/React__default.default.createElement("div", {
61
61
  className: clx("title-wrapper")
62
62
  }, /*#__PURE__*/React__default.default.createElement(index$4.default, null, title), /*#__PURE__*/React__default.default.createElement(index$5.default, {
63
63
  onClick: onCloseHandler
64
- }))) : ( /*#__PURE__*/React__default.default.createElement("div", {
64
+ }))) : (/*#__PURE__*/React__default.default.createElement("div", {
65
65
  className: clx("close-wrapper")
66
66
  }, /*#__PURE__*/React__default.default.createElement(index$5.default, {
67
67
  onClick: onCloseHandler
@@ -39,9 +39,11 @@ var MenuOverlay = function MenuOverlay(_a) {
39
39
  if (!rootRef || !rootRef.current) {
40
40
  return;
41
41
  }
42
- rootRef.current.scrollTo({
43
- top: scrollView.top - OFFSET_ITEMS_COUNT * scrollView.height
44
- });
42
+ if (typeof rootRef.current.scrollTo === "function") {
43
+ rootRef.current.scrollTo({
44
+ top: scrollView.top - OFFSET_ITEMS_COUNT * scrollView.height
45
+ });
46
+ }
45
47
  }, [scrollView, rootRef]);
46
48
  return /*#__PURE__*/React__default.default.createElement("div", {
47
49
  ref: rootRef,
package/Select/index.js CHANGED
@@ -83,8 +83,8 @@ var Select = function Select(_a) {
83
83
  disabled: !!disabled
84
84
  }, /*#__PURE__*/React__default.default.createElement("div", {
85
85
  className: clx(styles__default.default["base-input"]),
86
- "data-component": "base-input"
87
- }, prepraredLabel !== null && prepraredLabel !== void 0 ? prepraredLabel : ( /*#__PURE__*/React__default.default.createElement("span", {
86
+ "data-testid": "base-input"
87
+ }, prepraredLabel !== null && prepraredLabel !== void 0 ? prepraredLabel : (/*#__PURE__*/React__default.default.createElement("span", {
88
88
  className: clx(styles__default.default.placeholder)
89
89
  }, placeholder))), /*#__PURE__*/React__default.default.createElement("input", {
90
90
  type: "hidden",
@@ -0,0 +1,4 @@
1
+ import type { FC } from "react";
2
+ import type { TabProps } from "./Tab.props";
3
+ declare const Tab: FC<TabProps>;
4
+ export default Tab;
@@ -0,0 +1,61 @@
1
+ .tab {
2
+ cursor: pointer;
3
+ display: inline-block;
4
+ margin-left: 16px;
5
+ padding: 0 20px;
6
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
7
+ transition-duration: 0.3s;
8
+ transition-property: background, box-shadow, transform;
9
+ transition-timing-function: ease;
10
+ user-select: none;
11
+ white-space: nowrap;
12
+ }
13
+ .tab[data-size=s] {
14
+ border-radius: 32px;
15
+ font-size: 15px;
16
+ line-height: 32px;
17
+ }
18
+ .tab[data-size=m] {
19
+ border-radius: 36px;
20
+ font-size: 16px;
21
+ line-height: 36px;
22
+ }
23
+ .tab[data-size=l] {
24
+ border-radius: 44px;
25
+ font-size: 18px;
26
+ line-height: 44px;
27
+ }
28
+ .tab_active {
29
+ background: var(--palette-bg-1);
30
+ }
31
+ .tab_inactive {
32
+ background: var(--palette-white);
33
+ box-shadow: rgba(193, 193, 193, 0.4) 0 5px 20px;
34
+ }
35
+ .tab_inactive:hover {
36
+ box-shadow: rgba(193, 193, 193, 0.4) 0 5px 20px;
37
+ }
38
+ .tab_inactive:active {
39
+ background: rgba(0, 0, 0, 0.02);
40
+ box-shadow: rgba(193, 193, 193, 0.4) 0 1px 3px;
41
+ outline: 0;
42
+ transition-duration: 0.15s;
43
+ }
44
+ @media (hover: none) {
45
+ .tab_inactive:hover {
46
+ box-shadow: rgba(193, 193, 193, 0.4) 0 5px 20px;
47
+ }
48
+ .tab_inactive:active {
49
+ box-shadow: rgba(193, 193, 193, 0.4) 0 1px 3px;
50
+ }
51
+ }
52
+ .tab_first {
53
+ margin-left: 0;
54
+ }
55
+ .tab_disabled {
56
+ background: #f7f8f9;
57
+ box-shadow: none;
58
+ color: var(--palette-bg-3);
59
+ cursor: not-allowed;
60
+ pointer-events: none;
61
+ }
@@ -0,0 +1,16 @@
1
+ import type { Size } from "../index.props";
2
+ import type { KeyboardEventHandler, MouseEventHandler, ReactNode, RefObject } from "react";
3
+ export type TabProps = {
4
+ id?: string;
5
+ active?: boolean;
6
+ disabled?: boolean;
7
+ first?: boolean;
8
+ content?: ReactNode;
9
+ onClick?: MouseEventHandler<HTMLLIElement>;
10
+ innerRef?: RefObject<HTMLLIElement>;
11
+ className?: string;
12
+ role?: string;
13
+ tabIndex?: number;
14
+ onKeyDown?: KeyboardEventHandler<HTMLElement>;
15
+ size?: Size;
16
+ };
@@ -0,0 +1,4 @@
1
+ .root {
2
+ margin: 0;
3
+ padding: 0;
4
+ }
@@ -0,0 +1,4 @@
1
+ import type { TabsMenuProps } from "./index.props";
2
+ import type { FC } from "react";
3
+ declare const TabsMenu: FC<TabsMenuProps>;
4
+ export default TabsMenu;
@@ -0,0 +1,12 @@
1
+ import type { RefObject } from "react";
2
+ import type { TabProps } from "./Tab/Tab.props";
3
+ export type Size = "s" | "m" | "l";
4
+ export type TabsMenuProps = {
5
+ activeTab?: string;
6
+ onChange?: (tabId: string) => void;
7
+ tabs: TabProps[];
8
+ tabsRefs?: RefObject<HTMLLIElement>[];
9
+ innerRef?: RefObject<HTMLUListElement>;
10
+ className?: string;
11
+ size?: Size;
12
+ };
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../esm/TabsMenu/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
package/Tooltip/index.js CHANGED
@@ -92,7 +92,7 @@ var Tooltip = function Tooltip(_a) {
92
92
  }, [update, visible]);
93
93
  return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement(reference.type, tslib.__assign({
94
94
  ref: setControlElement
95
- }, reference.props)), visible && ( /*#__PURE__*/React__default.default.createElement(index.default, null, /*#__PURE__*/React__default.default.createElement(index$1.default, {
95
+ }, reference.props)), visible && (/*#__PURE__*/React__default.default.createElement(index.default, null, /*#__PURE__*/React__default.default.createElement(index$1.default, {
96
96
  onClick: onClickOutside
97
97
  }, /*#__PURE__*/React__default.default.createElement("div", tslib.__assign({
98
98
  className: clx("root", {