@megafon/ui-core 2.4.0 → 3.0.0-beta.10

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 +154 -7
  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 +18 -28
  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 -0
  91. package/dist/es/components/Tabs/Tabs.js +38 -31
  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 +18 -28
  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 -0
  195. package/dist/lib/components/Tabs/Tabs.js +38 -31
  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
@@ -4,15 +4,13 @@ import _typeof from "@babel/runtime/helpers/typeof";
4
4
  import _extends from "@babel/runtime/helpers/extends";
5
5
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
6
  import React, { useState, useCallback, useEffect, useMemo } from 'react';
7
- import { cnCreate, detectTouch } from '@megafon/ui-helpers';
7
+ import { cnCreate, detectTouch, checkNativeEventIsClickOrEnterPress, filterDataAttrs } from '@megafon/ui-helpers';
8
8
  import PropTypes from 'prop-types';
9
9
  import { usePopper } from 'react-popper';
10
10
  import Tile from "../Tile/Tile";
11
11
  import "./Tooltip.css";
12
12
  var TOOLTIP_PADDING_FOR_FLIP = 14;
13
13
  var MOUSE_KEY = 'mousedown';
14
- var KEYBOARD_ENTER_KEY = 'Enter';
15
- var KEYBOARD_NUMPAD_ENTER_KEY = 'NumpadEnter';
16
14
  var TOUCH_KEY = 'touchstart';
17
15
  export var Placement = {
18
16
  LEFT: 'left',
@@ -20,11 +18,6 @@ export var Placement = {
20
18
  RIGHT: 'right',
21
19
  BOTTOM: 'bottom'
22
20
  };
23
-
24
- var checkEventIsClickOrEnterPress = function checkEventIsClickOrEnterPress(e) {
25
- return e.type === TOUCH_KEY || e.type === MOUSE_KEY || e.code === KEYBOARD_ENTER_KEY || e.code === KEYBOARD_NUMPAD_ENTER_KEY;
26
- };
27
-
28
21
  export var Paddings = {
29
22
  NONE: 'none',
30
23
  SMALL: 'small',
@@ -59,6 +52,7 @@ var Tooltip = function Tooltip(_ref) {
59
52
  arrowClassName = _ref$classes.arrow,
60
53
  contentClassName = _ref$classes.content,
61
54
  contentShadowClassName = _ref$classes.contentShadow,
55
+ dataAttrs = _ref.dataAttrs,
62
56
  onOpen = _ref.onOpen,
63
57
  onClose = _ref.onClose;
64
58
  var currentTrigger = triggerElement.current;
@@ -82,7 +76,7 @@ var Tooltip = function Tooltip(_ref) {
82
76
 
83
77
  useEffect(function () {
84
78
  return setIsOpen(isOpened);
85
- }, [isOpened]);
79
+ }, [isOpened, setIsOpen]);
86
80
  var options = useMemo(function () {
87
81
  return {
88
82
  placement: placement,
@@ -110,7 +104,7 @@ var Tooltip = function Tooltip(_ref) {
110
104
  }
111
105
  }]
112
106
  };
113
- }, [placement, arrowElement, currentBoundary, isOpen, fallbackPlacements]);
107
+ }, [placement, arrowElement, currentBoundary, isOpen]);
114
108
 
115
109
  var _usePopper = usePopper(currentTarget, popperElement, options),
116
110
  styles = _usePopper.styles,
@@ -118,7 +112,7 @@ var Tooltip = function Tooltip(_ref) {
118
112
  update = _usePopper.update;
119
113
 
120
114
  useEffect(function () {
121
- update === null || update === void 0 ? void 0 : update();
115
+ update && update();
122
116
  }, [children, update]);
123
117
 
124
118
  var _useState7 = useState(false),
@@ -128,7 +122,7 @@ var Tooltip = function Tooltip(_ref) {
128
122
 
129
123
  useEffect(function () {
130
124
  return setIsTouchDevice(detectTouch());
131
- }, []);
125
+ }, [detectTouch, setIsTouchDevice]);
132
126
  var clickEvent = useMemo(function () {
133
127
  return isTouchDevice ? TOUCH_KEY : MOUSE_KEY;
134
128
  }, [isTouchDevice]);
@@ -138,11 +132,11 @@ var Tooltip = function Tooltip(_ref) {
138
132
  var handleMouseEnter = useCallback(function (e) {
139
133
  if (!isOpen) {
140
134
  setIsOpen(true);
141
- onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
135
+ onOpen && onOpen(e);
142
136
  }
143
- }, [isOpen, onOpen]);
137
+ }, [isOpen, onOpen, setIsOpen]);
144
138
  var handleClick = useCallback(function (e) {
145
- if (!checkEventIsClickOrEnterPress(e)) {
139
+ if (!checkNativeEventIsClickOrEnterPress(e)) {
146
140
  return;
147
141
  }
148
142
 
@@ -151,24 +145,24 @@ var Tooltip = function Tooltip(_ref) {
151
145
  });
152
146
 
153
147
  if (!isOpen) {
154
- onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
148
+ onOpen && onOpen(e);
155
149
  } else {
156
- onClose === null || onClose === void 0 ? void 0 : onClose(e);
150
+ onClose && onClose(e);
157
151
  }
158
- }, [isOpen, onOpen, onClose]);
152
+ }, [isOpen, onOpen, onClose, setIsOpen]);
159
153
  var handleOutsideEvent = useCallback(function (e) {
160
154
  var isTargetInPopper = e.target instanceof Element && popperElement && popperElement.contains(e.target);
161
155
  var isTargetInTrigger = e.target instanceof Element && currentTrigger && currentTrigger.contains(e.target);
162
156
 
163
157
  if (!isTargetInPopper && !isTargetInTrigger) {
164
158
  setIsOpen(false);
165
- onClose === null || onClose === void 0 ? void 0 : onClose(e);
159
+ onClose && onClose(e);
166
160
  }
167
- }, [onClose, currentTrigger, popperElement]);
161
+ }, [onClose, currentTrigger, popperElement, setIsOpen]);
168
162
  var handleBlurEvent = useCallback(function (e) {
169
163
  setIsOpen(false);
170
- onClose === null || onClose === void 0 ? void 0 : onClose(e);
171
- }, [onClose]);
164
+ onClose && onClose(e);
165
+ }, [onClose, setIsOpen]);
172
166
  useEffect(function () {
173
167
  if (triggerEventName === TriggerEvent.HOVER) {
174
168
  if (currentTrigger) {
@@ -178,10 +172,10 @@ var Tooltip = function Tooltip(_ref) {
178
172
 
179
173
  if (isOpen) {
180
174
  document.addEventListener('mouseover', handleOutsideEvent);
181
- currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.addEventListener('blur', handleBlurEvent);
175
+ currentTrigger && currentTrigger.addEventListener('blur', handleBlurEvent);
182
176
  } else {
183
177
  document.removeEventListener('mouseover', handleOutsideEvent);
184
- currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.removeEventListener('blur', handleBlurEvent);
178
+ currentTrigger && currentTrigger.removeEventListener('blur', handleBlurEvent);
185
179
  }
186
180
 
187
181
  return function () {
@@ -195,7 +189,7 @@ var Tooltip = function Tooltip(_ref) {
195
189
  }
196
190
 
197
191
  return undefined;
198
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter, handleBlurEvent]);
192
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter]);
199
193
  useEffect(function () {
200
194
  if (triggerEventName === TriggerEvent.CLICK) {
201
195
  if (currentTrigger) {
@@ -220,8 +214,8 @@ var Tooltip = function Tooltip(_ref) {
220
214
  }
221
215
 
222
216
  return undefined;
223
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick, clickEvent]);
224
- return /*#__PURE__*/React.createElement("div", _extends({
217
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick]);
218
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
225
219
  className: cn({
226
220
  paddings: paddings,
227
221
  open: isOpen
@@ -236,6 +230,9 @@ var Tooltip = function Tooltip(_ref) {
236
230
  className: cn('arrow-shadow'),
237
231
  style: styles.arrow
238
232
  }), /*#__PURE__*/React.createElement(Tile, {
233
+ dataAttrs: {
234
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.content
235
+ },
239
236
  className: cn('content', [contentClassName])
240
237
  }, children), /*#__PURE__*/React.createElement(Tile, {
241
238
  shadowLevel: "high",
@@ -278,6 +275,10 @@ Tooltip.propTypes = {
278
275
  content: PropTypes.string,
279
276
  contentShadow: PropTypes.string
280
277
  }),
278
+ dataAttrs: PropTypes.shape({
279
+ root: PropTypes.objectOf(PropTypes.string.isRequired),
280
+ content: PropTypes.objectOf(PropTypes.string.isRequired)
281
+ }),
281
282
  onOpen: PropTypes.func,
282
283
  onClose: PropTypes.func
283
284
  };
@@ -31,6 +31,7 @@ export { default as Preloader } from './components/Preloader/Preloader';
31
31
  export { default as RadioButton } from './components/RadioButton/RadioButton';
32
32
  export { default as Search } from './components/Search/Search';
33
33
  export { default as Select } from './components/Select/Select';
34
+ export { default as selectReducer } from './components/Select/reducer/selectReducer';
34
35
  export { default as Switcher } from './components/Switcher/Switcher';
35
36
  export { default as Tab } from './components/Tabs/Tab';
36
37
  export { default as Tabs } from './components/Tabs/Tabs';
package/dist/es/index.js CHANGED
@@ -31,6 +31,7 @@ export { default as Preloader } from "./components/Preloader/Preloader";
31
31
  export { default as RadioButton } from "./components/RadioButton/RadioButton";
32
32
  export { default as Search } from "./components/Search/Search";
33
33
  export { default as Select } from "./components/Select/Select";
34
+ export { default as selectReducer } from "./components/Select/reducer/selectReducer";
34
35
  export { default as Switcher } from "./components/Switcher/Switcher";
35
36
  export { default as Tab } from "./components/Tabs/Tab";
36
37
  export { default as Tabs } from "./components/Tabs/Tabs";
@@ -1,10 +1,3 @@
1
- h1,
2
- h2,
3
- h3,
4
- h4,
5
- h5 {
6
- margin: 0;
7
- }
8
1
  .color-item {
9
2
  display: -webkit-box;
10
3
  display: -ms-flexbox;
@@ -46,7 +39,7 @@ h5 {
46
39
  line-height: 20px;
47
40
  }
48
41
  .color-item__code {
49
- color: #33333380;
42
+ color: var(--spbSky3);
50
43
  font-size: 12px;
51
44
  line-height: 18px;
52
45
  }
@@ -37,7 +37,7 @@ var ColorItem = function ColorItem(_ref) {
37
37
  }), !!parentColorCode && /*#__PURE__*/React.createElement("div", {
38
38
  className: cn('parent-color'),
39
39
  style: {
40
- background: parentColorCode
40
+ background: "var(--".concat(parentColorCode, ")")
41
41
  }
42
42
  })), /*#__PURE__*/React.createElement("span", {
43
43
  className: cn('name')
@@ -1,14 +1,7 @@
1
- h1,
2
- h2,
3
- h3,
4
- h4,
5
- h5 {
6
- margin: 0;
7
- }
8
1
  .colors__inner {
9
2
  margin: 0 -80px;
10
3
  padding: 56px 80px 40px;
11
- background-color: #F6F6F6;
4
+ background-color: var(--spbSky0);
12
5
  }
13
6
  @media screen and (max-width: 1120px) {
14
7
  .colors__inner {
@@ -90,7 +83,6 @@ h5 {
90
83
  .colors__description {
91
84
  position: relative;
92
85
  padding-top: 15px;
93
- color: #33333380;
94
86
  font-size: 12px;
95
87
  line-height: 18px;
96
88
  text-align: center;
@@ -198,7 +190,7 @@ h5 {
198
190
  display: block;
199
191
  width: 100%;
200
192
  height: 1px;
201
- background-color: #D8D8D8;
193
+ background-color: var(--spbSky2);
202
194
  -webkit-transform: translateY(-50%);
203
195
  transform: translateY(-50%);
204
196
  }
@@ -209,7 +201,7 @@ h5 {
209
201
  position: absolute;
210
202
  width: 1px;
211
203
  height: 4px;
212
- background-color: #D8D8D8;
204
+ background-color: var(--spbSky2);
213
205
  }
214
206
  .colors__underline:after,
215
207
  .colors__underline:before {
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ /// <reference types="react" />
2
2
  import './Colors.less';
3
- declare const Colors: React.FC;
3
+ declare const Colors: () => JSX.Element;
4
4
  export default Colors;
@@ -11,10 +11,14 @@ require("core-js/modules/es.symbol");
11
11
 
12
12
  require("core-js/modules/es.symbol.description");
13
13
 
14
+ require("core-js/modules/es.array.includes");
15
+
14
16
  require("core-js/modules/es.array.map");
15
17
 
16
18
  require("core-js/modules/es.function.name");
17
19
 
20
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
+
18
22
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
23
 
20
24
  var React = _interopRequireWildcard(require("react"));
@@ -130,10 +134,65 @@ var basic = _colorsData["default"].basic,
130
134
  gradientColors = _colorsData["default"].gradientColors,
131
135
  staticColors = _colorsData["default"].staticColors,
132
136
  staticOpacity = _colorsData["default"].staticOpacity,
133
- soft = _colorsData["default"].soft;
137
+ soft = _colorsData["default"].soft; // TODO: refactor this
138
+
139
+ var getThemeFromLocalStorage = function getThemeFromLocalStorage() {
140
+ var theme = 'light';
141
+
142
+ if (typeof window !== 'undefined') {
143
+ var localStorageTheme = String(window.localStorage.getItem('theme'));
144
+
145
+ if (['light', 'dark'].includes(localStorageTheme)) {
146
+ theme = localStorageTheme;
147
+ }
148
+ }
149
+
150
+ return theme;
151
+ };
152
+
134
153
  var cn = (0, _uiHelpers.cnCreate)('colors');
135
154
 
136
155
  var Colors = function Colors() {
156
+ var _React$useState = React.useState(getThemeFromLocalStorage()),
157
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
158
+ setCurrentTheme = _React$useState2[1];
159
+
160
+ var _React$useState3 = React.useState(false),
161
+ _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
162
+ setLoad = _React$useState4[1];
163
+
164
+ React.useEffect(function () {
165
+ function load() {
166
+ setLoad(true);
167
+ }
168
+ }, []);
169
+
170
+ var getCurrentColorValue = function getCurrentColorValue(code) {
171
+ return typeof document !== 'undefined' ? document.documentElement.style.getPropertyValue("--".concat(code)) : '';
172
+ };
173
+
174
+ React.useEffect(function () {
175
+ // theme switcher from src/gatsby-theme-docz/components/SideBar/index.tsx
176
+ var themeSwitcher = document.querySelector('[data-current-theme]');
177
+
178
+ if (themeSwitcher) {
179
+ var themeSwitcherObserver = new MutationObserver(function (mutationsList) {
180
+ var data = mutationsList[0];
181
+ setCurrentTheme(data.oldValue === 'light' ? 'dark' : 'light');
182
+ });
183
+ var config = {
184
+ attributeOldValue: true,
185
+ attributeFilter: ['data-current-theme']
186
+ };
187
+ themeSwitcherObserver.observe(themeSwitcher, config);
188
+ return function () {
189
+ return themeSwitcherObserver.disconnect();
190
+ };
191
+ }
192
+
193
+ return undefined;
194
+ }, []);
195
+
137
196
  var renderUnderline = function renderUnderline() {
138
197
  return /*#__PURE__*/React.createElement("div", {
139
198
  className: cn('underline')
@@ -169,7 +228,7 @@ var Colors = function Colors() {
169
228
  return /*#__PURE__*/React.createElement(_ColorItem["default"], {
170
229
  className: cn('item'),
171
230
  colorName: name,
172
- colorCode: code,
231
+ colorCode: getCurrentColorValue(code),
173
232
  key: name,
174
233
  border: border
175
234
  });
@@ -199,7 +258,7 @@ var Colors = function Colors() {
199
258
  return /*#__PURE__*/React.createElement(_ColorItem["default"], {
200
259
  className: cn('item'),
201
260
  colorName: name,
202
- colorCode: code,
261
+ colorCode: getCurrentColorValue(code),
203
262
  gradient: gradient,
204
263
  key: name,
205
264
  border: border
@@ -231,7 +290,7 @@ var Colors = function Colors() {
231
290
  soft: true
232
291
  }),
233
292
  colorName: name,
234
- colorCode: code,
293
+ colorCode: getCurrentColorValue(code),
235
294
  parentColorCode: parentColor,
236
295
  key: name
237
296
  });
@@ -10,34 +10,35 @@ var colors = {
10
10
  colorsGroup: [{
11
11
  description: 'Основные цвета бренда',
12
12
  colors: [{
13
- name: 'Green',
14
- code: '#00B956'
13
+ name: 'Brand Green',
14
+ code: 'brandGreen'
15
15
  }, {
16
- name: 'Purple',
17
- code: '#731982'
16
+ name: 'Brand Purple',
17
+ code: 'brandPurple'
18
18
  }]
19
19
  }, {
20
20
  description: 'Градация оттенков серого',
21
21
  colors: [{
22
22
  name: 'Base',
23
- code: '#FFFFFF',
24
- border: '1px solid #EDEDED'
23
+ code: 'base',
24
+ border: '1px solid var(--spbSky1)'
25
25
  }, {
26
26
  name: 'Content',
27
- code: '#333333'
27
+ code: 'content',
28
+ border: '1px solid var(--spbSky1)'
28
29
  }, {
29
30
  name: 'Spb Sky 0',
30
- code: '#F6F6F6',
31
- border: '2px solid #EDEDED'
31
+ code: 'spbSky0',
32
+ border: '2px solid var(--spbSky1)'
32
33
  }, {
33
34
  name: 'Spb Sky 1',
34
- code: '#EDEDED'
35
+ code: 'spbSky1'
35
36
  }, {
36
37
  name: 'Spb Sky 2',
37
- code: '#D8D8D8'
38
+ code: 'spbSky2'
38
39
  }, {
39
40
  name: 'Spb Sky 3',
40
- code: '#999999'
41
+ code: 'spbSky3'
41
42
  }]
42
43
  }]
43
44
  },
@@ -47,16 +48,16 @@ var colors = {
47
48
  description: 'Акцентные цвета',
48
49
  colors: [{
49
50
  name: 'Warm Red C',
50
- code: '#EB5A40'
51
+ code: 'warmRedC'
51
52
  }, {
52
53
  name: '137C',
53
- code: '#FFA717'
54
+ code: '137C'
54
55
  }, {
55
56
  name: '311C',
56
- code: '#5BD9E5'
57
+ code: '311C'
57
58
  }, {
58
59
  name: 'Reflex Blue',
59
- code: '#444189'
60
+ code: 'reflexBlue'
60
61
  }]
61
62
  }
62
63
  },
@@ -66,22 +67,22 @@ var colors = {
66
67
  description: 'Системные цвета, используемые для отображения состояний интерфейсов и ссылок',
67
68
  colors: [{
68
69
  name: 'Fury',
69
- code: '#F62434'
70
+ code: 'fury'
70
71
  }, {
71
72
  name: 'System Blue',
72
- code: '#34AAF2'
73
+ code: 'systemBlue'
73
74
  }, {
74
75
  name: 'Background',
75
- code: '#FFFFFF'
76
+ code: 'background'
76
77
  }, {
77
78
  name: 'Button Hov. G.',
78
- code: '#10E272'
79
+ code: 'buttonHoverGreen'
79
80
  }, {
80
81
  name: 'Button Hov. P.',
81
- code: '#A500BF'
82
+ code: 'buttonhoverPurple'
82
83
  }, {
83
84
  name: 'Button Down',
84
- code: '#404D46'
85
+ code: 'buttonDown'
85
86
  }]
86
87
  }
87
88
  },
@@ -91,15 +92,15 @@ var colors = {
91
92
  description: 'Градиентные заливки ',
92
93
  colors: [{
93
94
  name: 'Basic',
94
- code: '#01873F #00B956 #14CD6A',
95
+ code: 'gradientBasic',
95
96
  gradient: 'linear-gradient(90deg, #01873F 0%, #00B956 74%, #14CD6A 100%)'
96
97
  }, {
97
98
  name: 'VIP',
98
- code: '#5B1168 #731982 #821E93',
99
+ code: 'gradientVIP',
99
100
  gradient: 'linear-gradient(90deg, #5B1168 0%, #731982 74%, #821E93 100%)'
100
101
  }, {
101
102
  name: 'Exclusive',
102
- code: '#2A2674 #444189 #504D93',
103
+ code: 'gradientExclusive',
103
104
  gradient: 'linear-gradient(90deg, #2A2674 0%, #444189 74%, #504D93 100%)'
104
105
  }]
105
106
  }
@@ -110,11 +111,12 @@ var colors = {
110
111
  description: 'Цвета не зависящие от темы',
111
112
  colors: [{
112
113
  name: 'STC White',
113
- code: '#FFFFFFF',
114
- border: '1px solid #EDEDED'
114
+ code: 'stcWhite',
115
+ border: '1px solid var(--spbSky1)'
115
116
  }, {
116
117
  name: 'STC Black',
117
- code: '#333333'
118
+ code: 'stcBlack',
119
+ border: '1px solid var(--spbSky1)'
118
120
  }]
119
121
  }
120
122
  },
@@ -124,31 +126,36 @@ var colors = {
124
126
  description: 'Цвета c прозрачностью не зависящие от темы',
125
127
  colors: [{
126
128
  name: 'STC White 5%',
127
- code: '#FFFFFF0D',
128
- border: '1px solid #EDEDED'
129
+ code: 'stcWhite5',
130
+ border: '1px solid var(--spbSky1)'
129
131
  }, {
130
132
  name: 'STC White 10%',
131
- code: '#FFFFFF1A',
132
- border: '1px solid #EDEDED'
133
+ code: 'stcWhite10',
134
+ border: '1px solid var(--spbSky1)'
133
135
  }, {
134
136
  name: 'STC White 20%',
135
- code: '#FFFFFF33',
136
- border: '1px solid #EDEDED'
137
+ code: 'stcWhite20',
138
+ border: '1px solid var(--spbSky1)'
137
139
  }, {
138
140
  name: 'STC White 50%',
139
- code: '#FFFFFF80'
141
+ code: 'stcWhite50',
142
+ border: '1px solid var(--spbSky1)'
140
143
  }, {
141
144
  name: 'STC Black 5%',
142
- code: '#3333330D'
145
+ code: 'stcBlack5',
146
+ border: '1px solid var(--spbSky1)'
143
147
  }, {
144
148
  name: 'STC Black 10%',
145
- code: '#3333331A'
149
+ code: 'stcBlack10',
150
+ border: '1px solid var(--spbSky1)'
146
151
  }, {
147
152
  name: 'STC Black 20%',
148
- code: '#33333333'
153
+ code: 'stcBlack20',
154
+ border: '1px solid var(--spbSky1)'
149
155
  }, {
150
156
  name: 'STC Black 50%',
151
- code: '#33333380'
157
+ code: 'stcBlack50',
158
+ border: '1px solid var(--spbSky1)'
152
159
  }]
153
160
  }
154
161
  },
@@ -157,61 +164,61 @@ var colors = {
157
164
  colorsList: {
158
165
  description: 'Дополнительная (вспомогательная) палитра, образованная от Basic, Secondary и System цветов. Каждый цвет из Soft палитры работает в паре с его родительским цветом.',
159
166
  colors: [{
160
- name: 'Green 80',
161
- code: '#0CDC78',
162
- parentColor: '#00B956'
167
+ name: 'Brand Green 80',
168
+ code: 'brandGreen80',
169
+ parentColor: 'green'
163
170
  }, {
164
- name: 'Purple 80',
165
- code: '#AA67C1',
166
- parentColor: '#731982'
171
+ name: 'Brand Purple 80',
172
+ code: 'brandPurple80',
173
+ parentColor: 'purple'
167
174
  }, {
168
175
  name: 'Warm Red C 80',
169
- code: '#FF765D',
170
- parentColor: '#EB5A40'
176
+ code: 'warmRedC80',
177
+ parentColor: 'warmRedC'
171
178
  }, {
172
179
  name: '137C 80',
173
- code: '#FFB945',
174
- parentColor: '#FFB945'
180
+ code: '137C80',
181
+ parentColor: '137C'
175
182
  }, {
176
183
  name: '311C 80',
177
- code: '#62E3FF',
178
- parentColor: '#5BD9E5'
184
+ code: '311C80',
185
+ parentColor: '311C'
179
186
  }, {
180
187
  name: 'Reflex Blue 80',
181
- code: '#554FC9',
182
- parentColor: '#444189'
188
+ code: 'reflexBlue80',
189
+ parentColor: 'reflexBlue'
183
190
  }, {
184
191
  name: 'Fury 80',
185
- code: '#F8505D',
186
- parentColor: '#F62434'
192
+ code: 'fury80',
193
+ parentColor: 'fury'
187
194
  }, {
188
- name: 'Green 20',
189
- code: '#DDFFEC',
190
- parentColor: '#00B956'
195
+ name: 'Brand Green 20',
196
+ code: 'brandGreen20',
197
+ parentColor: 'green'
191
198
  }, {
192
- name: 'Purple 20',
193
- code: '#FFEEFF',
194
- parentColor: '#731982'
199
+ name: 'Brand Purple 20',
200
+ code: 'brandPurple20',
201
+ parentColor: 'purple'
195
202
  }, {
196
203
  name: 'Warm Red C 20',
197
- code: '#FFCFC7',
198
- parentColor: '#EB5A40'
204
+ code: 'warmRedC20',
205
+ parentColor: 'warmRedC'
199
206
  }, {
200
207
  name: '137C 20',
201
- code: '#FFEDD1',
202
- parentColor: '#FFB945'
208
+ code: '137C20',
209
+ parentColor: '137C'
203
210
  }, {
204
211
  name: '311C 20',
205
- code: '#E1FAFF',
206
- parentColor: '#5BD9E5'
212
+ code: '311C20',
213
+ parentColor: '311C'
207
214
  }, {
208
215
  name: 'Reflex Blue 20',
209
- code: '#EBEAFF',
210
- parentColor: '#444189'
216
+ code: 'reflexBlue20',
217
+ parentColor: 'reflexBlue'
211
218
  }, {
212
219
  name: 'Fury 20',
213
- code: '#FFC5C9',
214
- parentColor: '#F62434'
220
+ code: 'fury20',
221
+ parentColor: 'fury'
215
222
  }]
216
223
  }
217
224
  }