@megafon/ui-core 2.5.0 → 3.0.0-beta.11

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 (213) hide show
  1. package/CHANGELOG.md +156 -9
  2. package/dist/es/colors/ColorItem/ColorItem.css +1 -8
  3. package/dist/es/colors/ColorItem/ColorItem.js +1 -1
  4. package/dist/es/colors/Colors.css +3 -11
  5. package/dist/es/colors/Colors.d.ts +2 -2
  6. package/dist/es/colors/Colors.js +64 -4
  7. package/dist/es/colors/colorsData.js +78 -71
  8. package/dist/es/components/Accordion/Accordion.css +7 -27
  9. package/dist/es/components/Accordion/Accordion.d.ts +12 -7
  10. package/dist/es/components/Accordion/Accordion.js +25 -20
  11. package/dist/es/components/Banner/Banner.css +2 -37
  12. package/dist/es/components/Banner/Banner.d.ts +10 -2
  13. package/dist/es/components/Banner/Banner.js +35 -26
  14. package/dist/es/components/Banner/BannerDot.css +4 -11
  15. package/dist/es/components/Banner/BannerDot.d.ts +3 -0
  16. package/dist/es/components/Banner/BannerDot.js +8 -3
  17. package/dist/es/components/Button/Button.css +83 -74
  18. package/dist/es/components/Button/Button.d.ts +8 -2
  19. package/dist/es/components/Button/Button.js +16 -8
  20. package/dist/es/components/Calendar/Calendar.css +0 -7
  21. package/dist/es/components/Calendar/Calendar.js +2 -3
  22. package/dist/es/components/Calendar/components/Day/Day.css +10 -17
  23. package/dist/es/components/Calendar/components/Day/Day.js +1 -1
  24. package/dist/es/components/Calendar/components/Month/Month.css +3 -10
  25. package/dist/es/components/Calendar/components/Month/Month.js +21 -5
  26. package/dist/es/components/Carousel/Carousel.css +4 -11
  27. package/dist/es/components/Carousel/Carousel.d.ts +9 -2
  28. package/dist/es/components/Carousel/Carousel.js +28 -25
  29. package/dist/es/components/Checkbox/Checkbox.css +18 -25
  30. package/dist/es/components/Checkbox/Checkbox.d.ts +11 -27
  31. package/dist/es/components/Checkbox/Checkbox.js +77 -90
  32. package/dist/es/components/Collapse/Collapse.d.ts +15 -3
  33. package/dist/es/components/Collapse/Collapse.js +11 -4
  34. package/dist/es/components/ContentArea/ContentArea.css +18 -28
  35. package/dist/es/components/ContentArea/ContentArea.d.ts +2 -7
  36. package/dist/es/components/ContentArea/ContentArea.js +5 -39
  37. package/dist/es/components/Counter/Counter.css +14 -11
  38. package/dist/es/components/Counter/Counter.js +3 -3
  39. package/dist/es/components/Grid/GridColumn.css +0 -7
  40. package/dist/es/components/Header/Header.css +8 -12
  41. package/dist/es/components/Header/Header.d.ts +7 -21
  42. package/dist/es/components/Header/Header.js +31 -67
  43. package/dist/es/components/InputLabel/InputLabel.css +0 -7
  44. package/dist/es/components/InputLabel/InputLabel.d.ts +3 -0
  45. package/dist/es/components/InputLabel/InputLabel.js +9 -4
  46. package/dist/es/components/Link/Link.d.ts +3 -3
  47. package/dist/es/components/Link/Link.js +32 -21
  48. package/dist/es/components/List/List.css +9 -13
  49. package/dist/es/components/List/List.d.ts +1 -1
  50. package/dist/es/components/List/List.js +2 -2
  51. package/dist/es/components/List/ListItem.css +0 -7
  52. package/dist/es/components/Logo/Logo.css +0 -7
  53. package/dist/es/components/Logo/Logo.js +4 -8
  54. package/dist/es/components/NavArrow/NavArrow.css +5 -12
  55. package/dist/es/components/Notification/Notification.css +41 -24
  56. package/dist/es/components/Notification/Notification.d.ts +8 -0
  57. package/dist/es/components/Notification/Notification.js +21 -4
  58. package/dist/es/components/Pagination/Pagination.css +0 -7
  59. package/dist/es/components/Pagination/Pagination.d.ts +9 -2
  60. package/dist/es/components/Pagination/Pagination.js +20 -3
  61. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.css +9 -9
  62. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.d.ts +6 -3
  63. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +12 -7
  64. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +5 -2
  65. package/dist/es/components/Pagination/components/PaginationButtons/PaginationButtons.js +10 -2
  66. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +5 -2
  67. package/dist/es/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +6 -1
  68. package/dist/es/components/Pagination/helpers.d.ts +1 -1
  69. package/dist/es/components/Paragraph/Paragraph.css +10 -31
  70. package/dist/es/components/Paragraph/Paragraph.d.ts +9 -13
  71. package/dist/es/components/Paragraph/Paragraph.js +14 -40
  72. package/dist/es/components/Preloader/Preloader.css +5 -12
  73. package/dist/es/components/Preloader/Preloader.d.ts +4 -0
  74. package/dist/es/components/Preloader/Preloader.js +10 -5
  75. package/dist/es/components/RadioButton/RadioButton.css +7 -14
  76. package/dist/es/components/RadioButton/RadioButton.d.ts +8 -28
  77. package/dist/es/components/RadioButton/RadioButton.js +50 -85
  78. package/dist/es/components/Search/Search.css +20 -25
  79. package/dist/es/components/Search/Search.js +3 -4
  80. package/dist/es/components/Select/Select.css +34 -37
  81. package/dist/es/components/Select/Select.d.ts +43 -50
  82. package/dist/es/components/Select/Select.js +382 -461
  83. package/dist/es/components/Select/reducer/selectReducer.d.ts +34 -0
  84. package/dist/es/components/Select/reducer/selectReducer.js +123 -0
  85. package/dist/es/components/Switcher/Switcher.css +19 -25
  86. package/dist/es/components/Switcher/Switcher.js +1 -1
  87. package/dist/es/components/Tabs/Tab.d.ts +5 -2
  88. package/dist/es/components/Tabs/Tab.js +4 -2
  89. package/dist/es/components/Tabs/Tabs.css +30 -37
  90. package/dist/es/components/Tabs/Tabs.d.ts +8 -2
  91. package/dist/es/components/Tabs/Tabs.js +68 -105
  92. package/dist/es/components/TextField/TextField.css +27 -33
  93. package/dist/es/components/TextField/TextField.d.ts +9 -3
  94. package/dist/es/components/TextField/TextField.js +32 -24
  95. package/dist/es/components/TextLink/TextLink.css +10 -14
  96. package/dist/es/components/TextLink/TextLink.d.ts +1 -1
  97. package/dist/es/components/TextLink/TextLink.js +7 -2
  98. package/dist/es/components/Tile/Tile.css +2 -8
  99. package/dist/es/components/Tile/Tile.d.ts +5 -2
  100. package/dist/es/components/Tile/Tile.js +2 -2
  101. package/dist/es/components/Tooltip/Tooltip.css +1 -8
  102. package/dist/es/components/Tooltip/Tooltip.d.ts +8 -2
  103. package/dist/es/components/Tooltip/Tooltip.js +28 -27
  104. package/dist/es/index.d.ts +1 -0
  105. package/dist/es/index.js +1 -0
  106. package/dist/lib/colors/ColorItem/ColorItem.css +1 -8
  107. package/dist/lib/colors/ColorItem/ColorItem.js +1 -1
  108. package/dist/lib/colors/Colors.css +3 -11
  109. package/dist/lib/colors/Colors.d.ts +2 -2
  110. package/dist/lib/colors/Colors.js +63 -4
  111. package/dist/lib/colors/colorsData.js +78 -71
  112. package/dist/lib/components/Accordion/Accordion.css +7 -27
  113. package/dist/lib/components/Accordion/Accordion.d.ts +12 -7
  114. package/dist/lib/components/Accordion/Accordion.js +24 -19
  115. package/dist/lib/components/Banner/Banner.css +2 -37
  116. package/dist/lib/components/Banner/Banner.d.ts +10 -2
  117. package/dist/lib/components/Banner/Banner.js +35 -25
  118. package/dist/lib/components/Banner/BannerDot.css +4 -11
  119. package/dist/lib/components/Banner/BannerDot.d.ts +3 -0
  120. package/dist/lib/components/Banner/BannerDot.js +10 -2
  121. package/dist/lib/components/Button/Button.css +83 -74
  122. package/dist/lib/components/Button/Button.d.ts +8 -2
  123. package/dist/lib/components/Button/Button.js +16 -8
  124. package/dist/lib/components/Calendar/Calendar.css +0 -7
  125. package/dist/lib/components/Calendar/Calendar.js +3 -3
  126. package/dist/lib/components/Calendar/components/Day/Day.css +10 -17
  127. package/dist/lib/components/Calendar/components/Day/Day.js +1 -1
  128. package/dist/lib/components/Calendar/components/Month/Month.css +3 -10
  129. package/dist/lib/components/Calendar/components/Month/Month.js +20 -4
  130. package/dist/lib/components/Carousel/Carousel.css +4 -11
  131. package/dist/lib/components/Carousel/Carousel.d.ts +9 -2
  132. package/dist/lib/components/Carousel/Carousel.js +26 -23
  133. package/dist/lib/components/Checkbox/Checkbox.css +18 -25
  134. package/dist/lib/components/Checkbox/Checkbox.d.ts +11 -27
  135. package/dist/lib/components/Checkbox/Checkbox.js +82 -125
  136. package/dist/lib/components/Collapse/Collapse.d.ts +15 -3
  137. package/dist/lib/components/Collapse/Collapse.js +13 -4
  138. package/dist/lib/components/ContentArea/ContentArea.css +18 -28
  139. package/dist/lib/components/ContentArea/ContentArea.d.ts +2 -7
  140. package/dist/lib/components/ContentArea/ContentArea.js +5 -42
  141. package/dist/lib/components/Counter/Counter.css +14 -11
  142. package/dist/lib/components/Counter/Counter.js +3 -3
  143. package/dist/lib/components/Grid/GridColumn.css +0 -7
  144. package/dist/lib/components/Header/Header.css +8 -12
  145. package/dist/lib/components/Header/Header.d.ts +7 -21
  146. package/dist/lib/components/Header/Header.js +31 -98
  147. package/dist/lib/components/InputLabel/InputLabel.css +0 -7
  148. package/dist/lib/components/InputLabel/InputLabel.d.ts +3 -0
  149. package/dist/lib/components/InputLabel/InputLabel.js +11 -3
  150. package/dist/lib/components/Link/Link.d.ts +3 -3
  151. package/dist/lib/components/Link/Link.js +44 -26
  152. package/dist/lib/components/List/List.css +9 -13
  153. package/dist/lib/components/List/List.d.ts +1 -1
  154. package/dist/lib/components/List/List.js +2 -2
  155. package/dist/lib/components/List/ListItem.css +0 -7
  156. package/dist/lib/components/Logo/Logo.css +0 -7
  157. package/dist/lib/components/Logo/Logo.js +4 -8
  158. package/dist/lib/components/NavArrow/NavArrow.css +5 -12
  159. package/dist/lib/components/Notification/Notification.css +41 -24
  160. package/dist/lib/components/Notification/Notification.d.ts +8 -0
  161. package/dist/lib/components/Notification/Notification.js +20 -3
  162. package/dist/lib/components/Pagination/Pagination.css +0 -7
  163. package/dist/lib/components/Pagination/Pagination.d.ts +9 -2
  164. package/dist/lib/components/Pagination/Pagination.js +20 -2
  165. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.css +9 -9
  166. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.d.ts +6 -3
  167. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +12 -6
  168. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.d.ts +5 -2
  169. package/dist/lib/components/Pagination/components/PaginationButtons/PaginationButtons.js +9 -1
  170. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.d.ts +5 -2
  171. package/dist/lib/components/Pagination/components/PaginationNavigation/PaginationNavigation.js +6 -1
  172. package/dist/lib/components/Pagination/helpers.d.ts +1 -1
  173. package/dist/lib/components/Paragraph/Paragraph.css +10 -31
  174. package/dist/lib/components/Paragraph/Paragraph.d.ts +9 -13
  175. package/dist/lib/components/Paragraph/Paragraph.js +15 -41
  176. package/dist/lib/components/Preloader/Preloader.css +5 -12
  177. package/dist/lib/components/Preloader/Preloader.d.ts +4 -0
  178. package/dist/lib/components/Preloader/Preloader.js +10 -4
  179. package/dist/lib/components/RadioButton/RadioButton.css +7 -14
  180. package/dist/lib/components/RadioButton/RadioButton.d.ts +8 -28
  181. package/dist/lib/components/RadioButton/RadioButton.js +51 -117
  182. package/dist/lib/components/Search/Search.css +20 -25
  183. package/dist/lib/components/Search/Search.js +3 -4
  184. package/dist/lib/components/Select/Select.css +34 -37
  185. package/dist/lib/components/Select/Select.d.ts +43 -50
  186. package/dist/lib/components/Select/Select.js +375 -483
  187. package/dist/lib/components/Select/reducer/selectReducer.d.ts +34 -0
  188. package/dist/lib/components/Select/reducer/selectReducer.js +136 -0
  189. package/dist/lib/components/Switcher/Switcher.css +19 -25
  190. package/dist/lib/components/Switcher/Switcher.js +1 -1
  191. package/dist/lib/components/Tabs/Tab.d.ts +5 -2
  192. package/dist/lib/components/Tabs/Tab.js +4 -2
  193. package/dist/lib/components/Tabs/Tabs.css +30 -37
  194. package/dist/lib/components/Tabs/Tabs.d.ts +8 -2
  195. package/dist/lib/components/Tabs/Tabs.js +68 -105
  196. package/dist/lib/components/TextField/TextField.css +27 -33
  197. package/dist/lib/components/TextField/TextField.d.ts +9 -3
  198. package/dist/lib/components/TextField/TextField.js +30 -23
  199. package/dist/lib/components/TextLink/TextLink.css +10 -14
  200. package/dist/lib/components/TextLink/TextLink.d.ts +1 -1
  201. package/dist/lib/components/TextLink/TextLink.js +7 -2
  202. package/dist/lib/components/Tile/Tile.css +2 -8
  203. package/dist/lib/components/Tile/Tile.d.ts +5 -2
  204. package/dist/lib/components/Tile/Tile.js +2 -2
  205. package/dist/lib/components/Tooltip/Tooltip.css +1 -8
  206. package/dist/lib/components/Tooltip/Tooltip.d.ts +8 -2
  207. package/dist/lib/components/Tooltip/Tooltip.js +27 -26
  208. package/dist/lib/index.d.ts +1 -0
  209. package/dist/lib/index.js +8 -0
  210. package/package.json +5 -4
  211. package/styles/base.less +2 -73
  212. package/styles/colors.css +60 -0
  213. package/styles/colorsDark.css +62 -0
@@ -0,0 +1,34 @@
1
+ import { ISelectItem, SelectItemValueType } from '../Select';
2
+ export declare const initialState: {
3
+ isOpened: boolean;
4
+ hoveredItemIndex: number;
5
+ itemsList: never[];
6
+ comparableInputValue: string;
7
+ inputValue: string;
8
+ };
9
+ export declare enum SelectActions {
10
+ TOGGLE_DROPDOWN = "TOGGLE_DROPDOWN",
11
+ UPDATE_ITEMS_LIST = "UPDATE_ITEMS_LIST",
12
+ UPDATE_VALUE_FROM_PROPS = "UPDATE_VALUE_FROM_PROPS",
13
+ UPDATE_SELECT_VALUE = "UPDATE_SELECT_VALUE",
14
+ SET_HOVERED_ITEM_INDEX = "SET_HOVERED_ITEM_INDEX",
15
+ COMBOBOX_VALUE_DEBOUNCE = "COMBOBOX_VALUE_DEBOUNCE",
16
+ COMBOBOX_INPUT_CHANGE = "COMBOBOX_INPUT_CHANGE"
17
+ }
18
+ export interface ISelectState<T extends SelectItemValueType> {
19
+ isOpened: boolean;
20
+ hoveredItemIndex: number;
21
+ itemsList: Array<ISelectItem<T>>;
22
+ comparableInputValue: string;
23
+ inputValue: string;
24
+ }
25
+ export interface ISelectAction<T extends SelectItemValueType> {
26
+ type: SelectActions;
27
+ items?: Array<ISelectItem<T>>;
28
+ hoveredItemIndex?: number;
29
+ inputValue?: string;
30
+ comparableInputValue?: string;
31
+ isOpened?: boolean;
32
+ }
33
+ declare const selectReducer: <T extends string | number | undefined>(state: ISelectState<T>, action: ISelectAction<T>) => ISelectState<T>;
34
+ export default selectReducer;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.SelectActions = exports.initialState = void 0;
7
+
8
+ require("core-js/modules/es.array.every");
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var isEqualItems = function isEqualItems(newItems, setItems) {
15
+ if (newItems.length !== setItems.length) {
16
+ return false;
17
+ }
18
+
19
+ return newItems.every(function (item, i) {
20
+ var isEqualValue = item.value === setItems[i].value;
21
+ var isEqualTitle = item.title === setItems[i].title;
22
+ return isEqualValue && isEqualTitle;
23
+ });
24
+ };
25
+
26
+ var initialState = {
27
+ isOpened: false,
28
+ hoveredItemIndex: 0,
29
+ itemsList: [],
30
+ comparableInputValue: '',
31
+ inputValue: ''
32
+ };
33
+ exports.initialState = initialState;
34
+ var SelectActions;
35
+ exports.SelectActions = SelectActions;
36
+
37
+ (function (SelectActions) {
38
+ SelectActions["TOGGLE_DROPDOWN"] = "TOGGLE_DROPDOWN";
39
+ SelectActions["UPDATE_ITEMS_LIST"] = "UPDATE_ITEMS_LIST";
40
+ SelectActions["UPDATE_VALUE_FROM_PROPS"] = "UPDATE_VALUE_FROM_PROPS";
41
+ SelectActions["UPDATE_SELECT_VALUE"] = "UPDATE_SELECT_VALUE";
42
+ SelectActions["SET_HOVERED_ITEM_INDEX"] = "SET_HOVERED_ITEM_INDEX";
43
+ SelectActions["COMBOBOX_VALUE_DEBOUNCE"] = "COMBOBOX_VALUE_DEBOUNCE";
44
+ SelectActions["COMBOBOX_INPUT_CHANGE"] = "COMBOBOX_INPUT_CHANGE";
45
+ })(SelectActions || (exports.SelectActions = SelectActions = {}));
46
+
47
+ var _SelectActions = SelectActions,
48
+ TOGGLE_DROPDOWN = _SelectActions.TOGGLE_DROPDOWN,
49
+ UPDATE_ITEMS_LIST = _SelectActions.UPDATE_ITEMS_LIST,
50
+ UPDATE_VALUE_FROM_PROPS = _SelectActions.UPDATE_VALUE_FROM_PROPS,
51
+ UPDATE_SELECT_VALUE = _SelectActions.UPDATE_SELECT_VALUE,
52
+ SET_HOVERED_ITEM_INDEX = _SelectActions.SET_HOVERED_ITEM_INDEX,
53
+ COMBOBOX_VALUE_DEBOUNCE = _SelectActions.COMBOBOX_VALUE_DEBOUNCE,
54
+ COMBOBOX_INPUT_CHANGE = _SelectActions.COMBOBOX_INPUT_CHANGE;
55
+
56
+ var selectReducer = function selectReducer(state, action) {
57
+ var type = action.type,
58
+ _action$items = action.items,
59
+ items = _action$items === void 0 ? [] : _action$items,
60
+ _action$hoveredItemIn = action.hoveredItemIndex,
61
+ hoveredItemIndex = _action$hoveredItemIn === void 0 ? 0 : _action$hoveredItemIn,
62
+ _action$inputValue = action.inputValue,
63
+ inputValue = _action$inputValue === void 0 ? '' : _action$inputValue,
64
+ _action$comparableInp = action.comparableInputValue,
65
+ comparableInputValue = _action$comparableInp === void 0 ? '' : _action$comparableInp,
66
+ _action$isOpened = action.isOpened,
67
+ isOpened = _action$isOpened === void 0 ? false : _action$isOpened;
68
+ var prevItems = state.itemsList;
69
+
70
+ switch (type) {
71
+ case TOGGLE_DROPDOWN:
72
+ {
73
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
74
+ isOpened: isOpened
75
+ });
76
+ }
77
+
78
+ case UPDATE_ITEMS_LIST:
79
+ {
80
+ var isItemsEqual = isEqualItems(items, prevItems);
81
+ return isItemsEqual ? state : (0, _extends2["default"])((0, _extends2["default"])({}, state), {
82
+ itemsList: items
83
+ });
84
+ }
85
+
86
+ case UPDATE_VALUE_FROM_PROPS:
87
+ {
88
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
89
+ hoveredItemIndex: hoveredItemIndex,
90
+ inputValue: inputValue,
91
+ comparableInputValue: ''
92
+ });
93
+ }
94
+
95
+ case COMBOBOX_VALUE_DEBOUNCE:
96
+ {
97
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
98
+ comparableInputValue: comparableInputValue,
99
+ itemsList: items,
100
+ isOpened: true,
101
+ hoveredItemIndex: 0
102
+ });
103
+ }
104
+
105
+ case UPDATE_SELECT_VALUE:
106
+ {
107
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
108
+ isOpened: false,
109
+ itemsList: items,
110
+ hoveredItemIndex: hoveredItemIndex
111
+ });
112
+ }
113
+
114
+ case SET_HOVERED_ITEM_INDEX:
115
+ {
116
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
117
+ hoveredItemIndex: hoveredItemIndex
118
+ });
119
+ }
120
+
121
+ case COMBOBOX_INPUT_CHANGE:
122
+ {
123
+ return (0, _extends2["default"])((0, _extends2["default"])({}, state), {
124
+ inputValue: inputValue
125
+ });
126
+ }
127
+
128
+ default:
129
+ {
130
+ return state;
131
+ }
132
+ }
133
+ };
134
+
135
+ var _default = selectReducer;
136
+ exports["default"] = _default;
@@ -1,54 +1,48 @@
1
- h1,
2
- h2,
3
- h3,
4
- h4,
5
- h5 {
6
- margin: 0;
7
- }
8
1
  .mfui-switcher {
9
2
  top: 22px;
10
3
  right: 28px;
11
4
  width: 48px;
12
5
  height: 28px;
6
+ border: 1px solid var(--stcBlack20);
13
7
  border-radius: 15.5px;
14
- background-color: #FFFFFF;
15
- -webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
16
- box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
8
+ background-color: var(--base);
17
9
  cursor: pointer;
18
10
  -webkit-transition: all 0.3s;
19
11
  transition: all 0.3s;
20
12
  }
21
- .mfui-switcher_no-touch:hover {
22
- background-color: #EDEDED;
23
- }
24
13
  .mfui-switcher__pointer {
25
14
  position: relative;
26
15
  top: 1px;
27
- left: 0;
16
+ left: 1px;
28
17
  width: 24px;
29
18
  height: 24px;
30
- border: 1px solid #D8D8D8;
19
+ border: 1px solid var(--stcBlack20);
31
20
  border-radius: 50%;
32
- background-color: #FFFFFF;
33
- -webkit-box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
34
- box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
21
+ background-color: var(--base);
22
+ -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05), 0 3px 1px rgba(0, 0, 0, 0.05);
23
+ box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05), 0 3px 1px rgba(0, 0, 0, 0.05);
35
24
  -webkit-transition: all 0.3s;
36
25
  transition: all 0.3s;
37
26
  }
27
+ .mfui-switcher_no-touch:hover:not(.mfui-switcher_disabled) {
28
+ background-color: var(--spbSky1);
29
+ }
38
30
  .mfui-switcher_checked {
39
- background-color: #00B956;
31
+ border-color: var(--brandGreen);
32
+ background-color: var(--brandGreen);
40
33
  }
41
34
  .mfui-switcher_checked .mfui-switcher__pointer {
42
- left: 22px;
35
+ left: 21px;
43
36
  }
44
37
  .mfui-switcher_checked.mfui-switcher_no-touch:hover {
45
- background-color: #10E272;
38
+ border-color: var(--buttonHoverGreen);
39
+ background-color: var(--buttonHoverGreen);
46
40
  }
47
41
  .mfui-switcher_disabled {
48
- background-color: #EDEDED;
42
+ background-color: var(--spbSky1);
49
43
  cursor: default;
50
44
  }
51
- .mfui-switcher_checked.mfui-switcher_disabled,
52
- .mfui-switcher_checked.mfui-switcher_disabled.mfui-switcher_no-touch:hover {
53
- background-color: #D8D8D8;
45
+ .mfui-switcher_disabled.mfui-switcher_checked.mfui-switcher_no-touch {
46
+ border-color: var(--spbSky2);
47
+ background-color: var(--spbSky2);
54
48
  }
@@ -31,7 +31,7 @@ var Switcher = function Switcher(props) {
31
31
  return;
32
32
  }
33
33
 
34
- onChange === null || onChange === void 0 ? void 0 : onChange(e);
34
+ onChange && onChange(e);
35
35
  };
36
36
 
37
37
  return /*#__PURE__*/React.createElement("div", {
@@ -1,12 +1,15 @@
1
1
  import * as React from 'react';
2
- import { IFilterDataAttrs } from '@megafon/ui-helpers';
3
- export interface ITabProps extends IFilterDataAttrs {
2
+ export interface ITabProps {
4
3
  /** Заголовок таба */
5
4
  title?: string;
6
5
  /** Иконка таба */
7
6
  icon?: React.ReactNode;
8
7
  /** Ссылка */
9
8
  href?: string;
9
+ /** Дополнительные data атрибуты к внутренним элементам */
10
+ dataAttrs?: {
11
+ root?: Record<string, string>;
12
+ };
10
13
  /** Дочерние элементы */
11
14
  children?: React.ReactNode;
12
15
  /** Функция рендера компонента-обертки для заголовка и иконки */
@@ -24,11 +24,13 @@ var Tab = function Tab(_ref) {
24
24
  };
25
25
 
26
26
  Tab.propTypes = {
27
+ dataAttrs: _propTypes["default"].shape({
28
+ root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
29
+ }),
27
30
  title: _propTypes["default"].string,
28
31
  icon: _propTypes["default"].node,
29
32
  href: _propTypes["default"].string,
30
- renderTabWrapper: _propTypes["default"].func,
31
- dataAttrs: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
33
+ renderTabWrapper: _propTypes["default"].func
32
34
  };
33
35
  var _default = Tab;
34
36
  exports["default"] = _default;
@@ -1,10 +1,3 @@
1
- h1,
2
- h2,
3
- h3,
4
- h4,
5
- h5 {
6
- margin: 0;
7
- }
8
1
  .mfui-tabs__swiper {
9
2
  font-family: inherit;
10
3
  font-size: 15px;
@@ -28,13 +21,13 @@ h5 {
28
21
  }
29
22
  .mfui-tabs__swiper:before {
30
23
  left: 0;
31
- background: -webkit-gradient(linear, left top, right top, from(#FFFFFF), to(rgba(255, 255, 255, 0)));
32
- background: linear-gradient(to right, #FFFFFF, rgba(255, 255, 255, 0));
24
+ background: -webkit-gradient(linear, left top, right top, from(var(--base)), to(rgba(255, 255, 255, 0)));
25
+ background: linear-gradient(to right, var(--base), rgba(255, 255, 255, 0));
33
26
  }
34
27
  .mfui-tabs__swiper:after {
35
28
  right: 0;
36
- background: -webkit-gradient(linear, right top, left top, from(#FFFFFF), to(rgba(255, 255, 255, 0)));
37
- background: linear-gradient(to left, #FFFFFF, rgba(255, 255, 255, 0));
29
+ background: -webkit-gradient(linear, right top, left top, from(var(--base)), to(rgba(255, 255, 255, 0)));
30
+ background: linear-gradient(to left, var(--base), rgba(255, 255, 255, 0));
38
31
  }
39
32
  .mfui-tabs__swiper_beginning:before {
40
33
  display: none;
@@ -80,19 +73,19 @@ h5 {
80
73
  -webkit-box-sizing: content-box;
81
74
  box-sizing: content-box;
82
75
  height: 32px;
83
- color: #333333;
76
+ color: var(--content);
84
77
  white-space: nowrap;
85
78
  text-decoration: none;
86
79
  cursor: pointer;
87
- fill: #333333;
80
+ fill: var(--content);
88
81
  }
89
82
  .mfui-tabs__tab-inner:hover {
90
- color: #00B956;
91
- fill: #00B956;
83
+ color: var(--brandGreen);
84
+ fill: var(--brandGreen);
92
85
  }
93
86
  .mfui-tabs__tab-inner_current {
94
- color: #00B956;
95
- fill: #00B956;
87
+ color: var(--brandGreen);
88
+ fill: var(--brandGreen);
96
89
  }
97
90
  .mfui-tabs__tab-icon {
98
91
  width: 32px;
@@ -116,7 +109,7 @@ h5 {
116
109
  bottom: 0;
117
110
  left: 0;
118
111
  height: 2px;
119
- background-color: #00B956;
112
+ background-color: var(--brandGreen);
120
113
  -webkit-transition-duration: 0.3s;
121
114
  transition-duration: 0.3s;
122
115
  }
@@ -128,11 +121,11 @@ h5 {
128
121
  width: 16px;
129
122
  height: 16px;
130
123
  border-radius: 50%;
131
- background-color: #333333;
124
+ background-color: var(--content);
132
125
  -webkit-transform: translateY(-50%);
133
126
  transform: translateY(-50%);
134
127
  cursor: pointer;
135
- fill: #FFFFFF;
128
+ fill: var(--base);
136
129
  }
137
130
  @media screen and (max-width: 1023px) {
138
131
  .mfui-tabs__arrow {
@@ -206,7 +199,7 @@ h5 {
206
199
  justify-content: center;
207
200
  }
208
201
  .mfui-tabs_h-align_center .mfui-tabs__tab {
209
- border-bottom: 1px solid #D8D8D8;
202
+ border-bottom: 1px solid var(--stcWhite);
210
203
  }
211
204
  .mfui-tabs_h-align_left .mfui-tabs__swiper-wrapper {
212
205
  position: relative;
@@ -218,7 +211,7 @@ h5 {
218
211
  left: 0;
219
212
  width: 100%;
220
213
  height: 1px;
221
- background-color: #D8D8D8;
214
+ background-color: var(--spbSky2);
222
215
  }
223
216
  @media screen and (min-width: 768px) and (max-width: 1023px) {
224
217
  .mfui-tabs_indents .mfui-tabs__swiper {
@@ -238,37 +231,37 @@ h5 {
238
231
  right: 0;
239
232
  left: 0;
240
233
  z-index: 100;
241
- background-color: #FFFFFF;
234
+ background-color: var(--base);
242
235
  }
243
236
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__swiper:before {
244
237
  left: 0;
245
- background: -webkit-gradient(linear, left top, right top, from(#00B956), to(transparent));
246
- background: linear-gradient(to right, #00B956, transparent);
238
+ background: -webkit-gradient(linear, left top, right top, from(var(--brandGreen)), to(transparent));
239
+ background: linear-gradient(to right, var(--brandGreen), transparent);
247
240
  }
248
241
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__swiper:after {
249
242
  right: 0;
250
- background: -webkit-gradient(linear, right top, left top, from(#00B956), to(transparent));
251
- background: linear-gradient(to left, #00B956, transparent);
243
+ background: -webkit-gradient(linear, right top, left top, from(var(--brandGreen)), to(transparent));
244
+ background: linear-gradient(to left, var(--brandGreen), transparent);
252
245
  }
253
246
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__tab {
254
- border-color: rgba(237, 237, 237, 0.5);
247
+ border-color: var(--stcBlack5);
255
248
  }
256
249
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__tab-inner {
257
- color: #FFFFFF80;
258
- fill: #FFFFFF80;
250
+ color: var(--stcWhite50);
251
+ fill: var(--stcWhite50);
259
252
  }
260
253
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__tab-inner:hover {
261
- color: #FFFFFF;
262
- fill: #FFFFFF;
254
+ color: var(--stcWhite);
255
+ fill: var(--stcWhite);
263
256
  }
264
257
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__tab-inner_current {
265
- color: #FFFFFF;
266
- fill: #FFFFFF;
258
+ color: var(--stcWhite);
259
+ fill: var(--stcWhite);
267
260
  }
268
261
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__underline {
269
- background-color: #FFFFFF;
262
+ background-color: var(--stcWhite);
270
263
  }
271
264
  .mfui-tabs_tab-color_green:not(.mfui-tabs_sticky) .mfui-tabs__arrow {
272
- background-color: #FFFFFF;
273
- fill: #00B956;
265
+ background-color: var(--stcWhite);
266
+ fill: var(--brandGreen);
274
267
  }
@@ -27,6 +27,14 @@ export interface ITabsProps {
27
27
  tab?: string;
28
28
  activeTab?: string;
29
29
  };
30
+ /** Дополнительные data атрибуты к внутренним элементам */
31
+ dataAttrs?: {
32
+ root?: Record<string, string>;
33
+ slider?: Record<string, string>;
34
+ panel?: Record<string, string>;
35
+ prev?: Record<string, string>;
36
+ next?: Record<string, string>;
37
+ };
30
38
  /** Размер табов */
31
39
  size?: TabSizeType;
32
40
  /** Горизонтальное выравнивание */
@@ -41,8 +49,6 @@ export interface ITabsProps {
41
49
  defaultIndex?: number;
42
50
  /** Рендер содержимого только для текущего таба */
43
51
  renderOnlyCurrentPanel?: boolean;
44
- /** Внешний контейнер для режима фиксация табов */
45
- outerObserveContainer?: HTMLDivElement | null;
46
52
  /** Обработчика клика по табам */
47
53
  onTabClick?: (index: number) => void;
48
54
  children: Array<React.ReactElement<ITabProps>>;