@skbkontur/react-ui 4.11.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +31 -7
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/locale/index.d.ts +4 -0
  6. package/cjs/components/Autocomplete/locale/index.js +11 -0
  7. package/cjs/components/Autocomplete/locale/index.js.map +1 -0
  8. package/cjs/components/Autocomplete/locale/locales/en.d.ts +2 -0
  9. package/cjs/components/Autocomplete/locale/locales/en.js +6 -0
  10. package/cjs/components/Autocomplete/locale/locales/en.js.map +1 -0
  11. package/cjs/components/Autocomplete/locale/locales/ru.d.ts +2 -0
  12. package/cjs/components/Autocomplete/locale/locales/ru.js +6 -0
  13. package/cjs/components/Autocomplete/locale/locales/ru.js.map +1 -0
  14. package/cjs/components/Autocomplete/locale/types.d.ts +5 -0
  15. package/cjs/components/Autocomplete/locale/types.js +1 -0
  16. package/cjs/components/Autocomplete/locale/types.js.map +1 -0
  17. package/cjs/components/ComboBox/ComboBox.md +42 -0
  18. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  19. package/cjs/components/Dropdown/Dropdown.d.ts +2 -1
  20. package/cjs/components/Dropdown/Dropdown.js +3 -1
  21. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  22. package/cjs/components/DropdownMenu/DropdownMenu.md +27 -0
  23. package/cjs/components/Hint/Hint.d.ts +0 -3
  24. package/cjs/components/Hint/Hint.js +2 -27
  25. package/cjs/components/Hint/Hint.js.map +1 -1
  26. package/cjs/components/Hint/Hint.md +29 -0
  27. package/cjs/components/Hint/Hint.styles.d.ts +0 -1
  28. package/cjs/components/Hint/Hint.styles.js +2 -10
  29. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  30. package/cjs/components/MenuItem/MenuItem.js +10 -8
  31. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  32. package/cjs/components/MenuItem/MenuItem.styles.d.ts +5 -1
  33. package/cjs/components/MenuItem/MenuItem.styles.js +28 -12
  34. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  35. package/cjs/components/MenuSeparator/MenuSeparator.js +12 -1
  36. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  37. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -0
  38. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +8 -1
  39. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  40. package/cjs/components/Modal/Modal.js +1 -5
  41. package/cjs/components/Modal/Modal.js.map +1 -1
  42. package/cjs/components/Select/Select.d.ts +2 -1
  43. package/cjs/components/Select/Select.js +13 -8
  44. package/cjs/components/Select/Select.js.map +1 -1
  45. package/cjs/components/SidePage/SidePage.js +0 -2
  46. package/cjs/components/SidePage/SidePage.js.map +1 -1
  47. package/cjs/components/Toast/Toast.d.ts +6 -3
  48. package/cjs/components/Toast/Toast.js +15 -8
  49. package/cjs/components/Toast/Toast.js.map +1 -1
  50. package/cjs/components/Toast/Toast.md +129 -0
  51. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  52. package/cjs/components/Toast/ToastStatic.js +5 -5
  53. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  54. package/cjs/components/Tooltip/Tooltip.d.ts +0 -2
  55. package/cjs/components/Tooltip/Tooltip.js +3 -23
  56. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  57. package/cjs/components/TooltipMenu/TooltipMenu.md +27 -0
  58. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
  59. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  60. package/cjs/internal/CustomComboBox/ComboBoxView.js +0 -1
  61. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  62. package/cjs/internal/Menu/Menu.d.ts +1 -0
  63. package/cjs/internal/Menu/Menu.js +20 -8
  64. package/cjs/internal/Menu/Menu.js.map +1 -1
  65. package/cjs/internal/Menu/Menu.styles.d.ts +2 -0
  66. package/cjs/internal/Menu/Menu.styles.js +19 -6
  67. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  68. package/cjs/internal/MenuMessage/MenuMessage.d.ts +10 -0
  69. package/cjs/internal/MenuMessage/MenuMessage.js +42 -0
  70. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -0
  71. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +5 -0
  72. package/cjs/internal/MenuMessage/MenuMessage.styles.js +33 -0
  73. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -0
  74. package/cjs/internal/MenuMessage/index.d.ts +1 -0
  75. package/cjs/internal/MenuMessage/index.js +1 -0
  76. package/cjs/internal/MenuMessage/index.js.map +1 -0
  77. package/cjs/internal/MobilePopup/MobilePopup.d.ts +13 -12
  78. package/cjs/internal/MobilePopup/MobilePopup.js +6 -60
  79. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  80. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +3 -3
  81. package/cjs/internal/MobilePopup/MobilePopup.styles.js +22 -24
  82. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  83. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -4
  84. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +26 -37
  85. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  86. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +2 -4
  87. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +8 -32
  88. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  89. package/cjs/internal/Popup/Popup.js +1 -1
  90. package/cjs/internal/Popup/Popup.js.map +1 -1
  91. package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
  92. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  93. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  94. package/cjs/internal/themes/DefaultTheme.d.ts +22 -3
  95. package/cjs/internal/themes/DefaultTheme.js +52 -7
  96. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  97. package/cjs/lib/locale/LOCALECONTEXT.md +1 -0
  98. package/cjs/typings/html-props.d.ts +2 -2
  99. package/components/Autocomplete/Autocomplete/Autocomplete.js +27 -6
  100. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  101. package/components/Autocomplete/Autocomplete.d.ts +2 -0
  102. package/components/Autocomplete/locale/index/index.js +8 -0
  103. package/components/Autocomplete/locale/index/index.js.map +1 -0
  104. package/components/Autocomplete/locale/index/package.json +6 -0
  105. package/components/Autocomplete/locale/index.d.ts +4 -0
  106. package/components/Autocomplete/locale/locales/en/en.js +5 -0
  107. package/components/Autocomplete/locale/locales/en/en.js.map +1 -0
  108. package/components/Autocomplete/locale/locales/en/package.json +6 -0
  109. package/components/Autocomplete/locale/locales/en.d.ts +2 -0
  110. package/components/Autocomplete/locale/locales/ru/package.json +6 -0
  111. package/components/Autocomplete/locale/locales/ru/ru.js +5 -0
  112. package/components/Autocomplete/locale/locales/ru/ru.js.map +1 -0
  113. package/components/Autocomplete/locale/locales/ru.d.ts +2 -0
  114. package/components/Autocomplete/locale/package.json +6 -0
  115. package/components/Autocomplete/locale/types/package.json +6 -0
  116. package/components/Autocomplete/locale/types/types.js +1 -0
  117. package/components/Autocomplete/locale/types/types.js.map +1 -0
  118. package/components/Autocomplete/locale/types.d.ts +5 -0
  119. package/components/ComboBox/ComboBox.md +42 -0
  120. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  121. package/components/Dropdown/Dropdown/Dropdown.js +2 -1
  122. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  123. package/components/Dropdown/Dropdown.d.ts +2 -1
  124. package/components/DropdownMenu/DropdownMenu.md +27 -0
  125. package/components/Hint/Hint/Hint.js +7 -24
  126. package/components/Hint/Hint/Hint.js.map +1 -1
  127. package/components/Hint/Hint.d.ts +0 -3
  128. package/components/Hint/Hint.md +29 -0
  129. package/components/Hint/Hint.styles/Hint.styles.js +2 -5
  130. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  131. package/components/Hint/Hint.styles.d.ts +0 -1
  132. package/components/MenuItem/MenuItem/MenuItem.js +10 -8
  133. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  134. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +27 -8
  135. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  136. package/components/MenuItem/MenuItem.styles.d.ts +5 -1
  137. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +10 -3
  138. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  139. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +4 -1
  140. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  141. package/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -0
  142. package/components/Modal/Modal/Modal.js +1 -1
  143. package/components/Modal/Modal/Modal.js.map +1 -1
  144. package/components/Select/Select/Select.js +20 -21
  145. package/components/Select/Select/Select.js.map +1 -1
  146. package/components/Select/Select.d.ts +2 -1
  147. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  148. package/components/Toast/Toast/Toast.js +15 -8
  149. package/components/Toast/Toast/Toast.js.map +1 -1
  150. package/components/Toast/Toast.d.ts +6 -3
  151. package/components/Toast/Toast.md +129 -0
  152. package/components/Toast/ToastStatic/ToastStatic.js +5 -5
  153. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  154. package/components/Toast/ToastStatic.d.ts +3 -2
  155. package/components/Tooltip/Tooltip/Tooltip.js +5 -25
  156. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  157. package/components/Tooltip/Tooltip.d.ts +0 -2
  158. package/components/TooltipMenu/TooltipMenu.md +27 -0
  159. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +9 -15
  160. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  161. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +0 -1
  162. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  163. package/internal/Menu/Menu/Menu.js +9 -7
  164. package/internal/Menu/Menu/Menu.js.map +1 -1
  165. package/internal/Menu/Menu.d.ts +1 -0
  166. package/internal/Menu/Menu.styles/Menu.styles.js +12 -6
  167. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  168. package/internal/Menu/Menu.styles.d.ts +2 -0
  169. package/internal/MenuMessage/MenuMessage/MenuMessage.js +30 -0
  170. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -0
  171. package/internal/MenuMessage/MenuMessage/package.json +6 -0
  172. package/internal/MenuMessage/MenuMessage.d.ts +10 -0
  173. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +23 -0
  174. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -0
  175. package/internal/MenuMessage/MenuMessage.styles/package.json +6 -0
  176. package/internal/MenuMessage/MenuMessage.styles.d.ts +5 -0
  177. package/internal/MenuMessage/index/index.js +1 -0
  178. package/internal/MenuMessage/index/index.js.map +1 -0
  179. package/internal/MenuMessage/index/package.json +6 -0
  180. package/internal/MenuMessage/index.d.ts +1 -0
  181. package/internal/MenuMessage/package.json +6 -0
  182. package/internal/MobilePopup/MobilePopup/MobilePopup.js +23 -53
  183. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  184. package/internal/MobilePopup/MobilePopup.d.ts +13 -12
  185. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +11 -11
  186. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -1
  187. package/internal/MobilePopup/MobilePopup.styles.d.ts +3 -3
  188. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +11 -35
  189. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  190. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -4
  191. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +6 -12
  192. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -1
  193. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +2 -4
  194. package/internal/Popup/Popup/Popup.js +1 -1
  195. package/internal/Popup/Popup/Popup.js.map +1 -1
  196. package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
  197. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  198. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  199. package/internal/themes/DefaultTheme/DefaultTheme.js +77 -9
  200. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  201. package/internal/themes/DefaultTheme.d.ts +22 -3
  202. package/lib/locale/LOCALECONTEXT.md +1 -0
  203. package/package.json +2 -2
  204. package/typings/html-props.d.ts +2 -2
@@ -9,7 +9,6 @@ var _Popup = require("../../internal/Popup");
9
9
  var _currentEnvironment = require("../../lib/currentEnvironment");
10
10
  var _CommonWrapper = require("../../internal/CommonWrapper");
11
11
  var _Emotion = require("../../lib/theming/Emotion");
12
- var _decorator = require("../ResponsiveLayout/decorator");
13
12
  var _rootNode = require("../../lib/rootNode");
14
13
 
15
14
  var _createPropsGetter = require("../../lib/createPropsGetter");
@@ -94,10 +93,7 @@ var Positions = [
94
93
  * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
95
94
  */var
96
95
 
97
-
98
- Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(Hint, _React$PureComponent);function Hint() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
99
-
100
-
96
+ Hint = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(Hint, _React$PureComponent);function Hint() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
101
97
 
102
98
 
103
99
 
@@ -176,22 +172,6 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
176
172
 
177
173
 
178
174
 
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
175
 
196
176
 
197
177
 
@@ -231,7 +211,6 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
231
211
 
232
212
 
233
213
 
234
-
235
214
  getPositions = function () {
236
215
  return Positions.filter(function (x) {return x.startsWith(_this.getProps().pos);});
237
216
  };_this.
@@ -258,10 +237,6 @@ Hint = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class
258
237
  }
259
238
  };_this.
260
239
 
261
- close = function () {
262
- _this.setState({ opened: false });
263
- };_this.
264
-
265
240
  open = function () {
266
241
  _this.setState({ opened: true });
267
- };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.isMobileLayout ? _this2.renderMobile() : _this2.renderMain());});};_proto.renderMobile = function renderMobile() {var manual = this.getProps().manual;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_Popup.Popup, { opened: this.state.opened, anchorElement: this.props.children, positions: [], onClick: !manual ? this.open : undefined, mobileOnCloseRequest: !manual ? this.close : undefined }, this.renderContent()));};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx[_Hint.styles.mobileContent(this.theme)] = this.isMobileLayout, _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: this.isMobileLayout ? '100%' : maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class) || _class;exports.Hint = Hint;
242
+ };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef, withoutMobile: true }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","responsiveLayout","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","close","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","isMobileLayout","renderMobile","renderMain","children","undefined","renderContent","disableAnimations","useWrapper","setRootNode","hintBgColor","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","mobileContent","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@responsiveLayout\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.isMobileLayout ? this.renderMobile() : this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMobile() {\n const manual = this.getProps().manual;\n return (\n <CommonWrapper {...this.props}>\n <Popup\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={[]}\n onClick={!manual ? this.open : undefined}\n mobileOnCloseRequest={!manual ? this.close : undefined}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n [styles.mobileContent(this.theme)]: this.isMobileLayout,\n });\n return (\n <div className={className} style={{ maxWidth: this.isMobileLayout ? '100%' : maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private close = () => {\n this.setState({ opened: false });\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -54,3 +54,32 @@ const [isOpen, setIsOpen] = React.useState(false);
54
54
  ```jsx harmony
55
55
  <Hint disableAnimations text={"Нет анимации :("}>Есть анимация?</Hint>
56
56
  ```
57
+
58
+ ### Использование встроеной и кастомной обёртки
59
+
60
+ Подсказка должна отображаться даже на отключённых компонентах. Из коробки это работает только с контролами `react-ui`.
61
+
62
+ Нативные элементы, поддерживающие атрибут `disabled`, отключают необходимые события мыши.
63
+ В подобных случаях следуют использовать проп `useWrapper`:
64
+
65
+ ```jsx harmony
66
+ <Hint useWrapper text="Подсказа всё равно отображается">
67
+ <button disabled>native button</button>
68
+ </Hint>
69
+ ```
70
+
71
+ Т.к. встроённая обёртка это `<span>` без стилей, то она может работать некорректно в определённых ситуациях.
72
+ В таких случаях стоит использовать собственную обётку:
73
+
74
+ ```jsx harmony
75
+ <>
76
+ <Hint useWrapper text="Подсказа">
77
+ <button disabled style={{ height: 40 }}>useWrapper prop</button>
78
+ </Hint>
79
+ <Hint text="Подсказа">
80
+ <span style={{ display: 'inline-block' }}>
81
+ <button disabled style={{ height: 40 }}>custom wrapper</button>
82
+ </span>
83
+ </Hint>
84
+ </>
85
+ ```
@@ -1,6 +1,5 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  content(t: Theme): string;
4
- mobileContent(t: Theme): string;
5
4
  contentCenter(t: Theme): string;
6
5
  };
@@ -1,5 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
2
- var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3;
2
+ var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2;
3
3
 
4
4
  var styles = (0, _Emotion.memoizeStyle)({
5
5
  content: function content(t) {
@@ -14,18 +14,10 @@ var styles = (0, _Emotion.memoizeStyle)({
14
14
 
15
15
 
16
16
 
17
- },
18
-
19
- mobileContent: function mobileContent(t) {
20
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n max-width: 100%;\n text-align: left;\n "])),
21
- t.mobileHintColor);
22
-
23
-
24
-
25
17
  },
26
18
 
27
19
  contentCenter: function contentCenter(t) {
28
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n text-align: ", ";\n "])),
20
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n text-align: ", ";\n "])),
29
21
  t.hintTextAlign);
30
22
 
31
23
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.styles.ts"],"names":["styles","content","t","css","hintColor","hintFontSize","hintLineHeight","hintMaxWidth","hintPaddingY","hintPaddingX","mobileContent","mobileHintColor","contentCenter","hintTextAlign"],"mappings":";AACA,oD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,OADiC,mBACzBC,CADyB,EACf;AAChB,eAAOC,YAAP;;AAEWD,IAAAA,CAAC,CAACE,SAFb;AAGeF,IAAAA,CAAC,CAACG,YAHjB;AAIiBH,IAAAA,CAAC,CAACI,cAJnB;AAKeJ,IAAAA,CAAC,CAACK,YALjB;;AAOaL,IAAAA,CAAC,CAACM,YAPf,EAO+BN,CAAC,CAACO,YAPjC;;;;AAWD,GAbgC;;AAejCC,EAAAA,aAfiC,yBAenBR,CAfmB,EAeT;AACtB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACS,eADb;;;;AAKD,GArBgC;;AAuBjCC,EAAAA,aAvBiC,yBAuBnBV,CAvBmB,EAuBT;AACtB,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACW,aADlB;;AAGD,GA3BgC,EAAb,CAAf,C","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n content(t: Theme) {\n return css`\n box-sizing: border-box;\n color: ${t.hintColor};\n font-size: ${t.hintFontSize};\n line-height: ${t.hintLineHeight};\n max-width: ${t.hintMaxWidth};\n overflow-wrap: break-word;\n padding: ${t.hintPaddingY} ${t.hintPaddingX};\n word-break: break-word;\n word-wrap: break-word;\n `;\n },\n\n mobileContent(t: Theme) {\n return css`\n color: ${t.mobileHintColor};\n max-width: 100%;\n text-align: left;\n `;\n },\n\n contentCenter(t: Theme) {\n return css`\n text-align: ${t.hintTextAlign};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Hint.styles.ts"],"names":["styles","content","t","css","hintColor","hintFontSize","hintLineHeight","hintMaxWidth","hintPaddingY","hintPaddingX","contentCenter","hintTextAlign"],"mappings":";AACA,oD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,OADiC,mBACzBC,CADyB,EACf;AAChB,eAAOC,YAAP;;AAEWD,IAAAA,CAAC,CAACE,SAFb;AAGeF,IAAAA,CAAC,CAACG,YAHjB;AAIiBH,IAAAA,CAAC,CAACI,cAJnB;AAKeJ,IAAAA,CAAC,CAACK,YALjB;;AAOaL,IAAAA,CAAC,CAACM,YAPf,EAO+BN,CAAC,CAACO,YAPjC;;;;AAWD,GAbgC;;AAejCC,EAAAA,aAfiC,yBAenBR,CAfmB,EAeT;AACtB,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAACS,aADlB;;AAGD,GAnBgC,EAAb,CAAf,C","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n content(t: Theme) {\n return css`\n box-sizing: border-box;\n color: ${t.hintColor};\n font-size: ${t.hintFontSize};\n line-height: ${t.hintLineHeight};\n max-width: ${t.hintMaxWidth};\n overflow-wrap: break-word;\n padding: ${t.hintPaddingY} ${t.hintPaddingX};\n word-break: break-word;\n word-wrap: break-word;\n `;\n },\n\n contentCenter(t: Theme) {\n return css`\n text-align: ${t.hintTextAlign};\n `;\n },\n});\n"]}
@@ -11,7 +11,7 @@ var _CommonWrapper = require("../../internal/CommonWrapper");
11
11
  var _Emotion = require("../../lib/theming/Emotion");
12
12
  var _rootNodeDecorator = require("../../lib/rootNode/rootNodeDecorator");
13
13
 
14
- var _MenuItem = require("./MenuItem.styles");var _excluded = ["link", "comment", "icon", "loose", "state", "_enableIconPadding", "component", "onMouseEnter", "onMouseLeave", "isMobile", "href", "rel"];var _class, _class2, _temp;
14
+ var _MenuItem = require("./MenuItem.styles");var _excluded = ["link", "comment", "icon", "loose", "state", "_enableIconPadding", "component", "onMouseEnter", "onMouseLeave", "isMobile", "href", "disabled", "rel"];var _class, _class2, _temp;
15
15
 
16
16
 
17
17
 
@@ -164,9 +164,10 @@ MenuItem = (0, _rootNodeDecorator.rootNode)(_class = (_temp = _class2 = /*#__PUR
164
164
 
165
165
 
166
166
 
167
- props.link,comment = props.comment,icon = props.icon,loose = props.loose,state = props.state,_enableIconPadding = props._enableIconPadding,component = props.component,onMouseEnter = props.onMouseEnter,onMouseLeave = props.onMouseLeave,isMobile = props.isMobile,href = props.href,_props$rel = props.rel,rel = _props$rel === void 0 ? _this.props.href && (0, _utils.isExternalLink)(_this.props.href) ? 'noopener noreferrer' : _this.props.rel : _props$rel,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
168
167
 
169
- var hover = state === 'hover' && !_this.props.disabled;
168
+ props.link,comment = props.comment,icon = props.icon,loose = props.loose,state = props.state,_enableIconPadding = props._enableIconPadding,component = props.component,onMouseEnter = props.onMouseEnter,onMouseLeave = props.onMouseLeave,isMobile = props.isMobile,href = props.href,disabled = props.disabled,_props$rel = props.rel,rel = _props$rel === void 0 ? _this.props.href && (0, _utils.isExternalLink)(_this.props.href) ? 'noopener noreferrer' : _this.props.rel : _props$rel,rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
169
+
170
+ var hover = state === 'hover' && !disabled;
170
171
 
171
172
  var iconElement = null;
172
173
  if (icon) {var _cx;
@@ -202,6 +203,7 @@ MenuItem = (0, _rootNodeDecorator.rootNode)(_class = (_temp = _class2 = /*#__PUR
202
203
  ref: _this.setRootRef,
203
204
  "data-tid": MenuItemDataTids.root },
204
205
  rest, {
206
+ disabled: disabled,
205
207
  state: state,
206
208
  onMouseOver: _this.handleMouseEnterFix,
207
209
  onMouseLeave: _this.handleMouseLeave,
@@ -213,7 +215,7 @@ MenuItem = (0, _rootNodeDecorator.rootNode)(_class = (_temp = _class2 = /*#__PUR
213
215
  iconElement, /*#__PURE__*/
214
216
  _react.default.createElement("span", {
215
217
  className: (0, _Emotion.cx)((_cx3 = {}, _cx3[
216
- _MenuItem.styles.contentMobile()] = isMobile, _cx3)) },
218
+ _MenuItem.styles.mobileContentWithIcon()] = isMobile && (0, _utils.isNonNullable)(icon), _cx3)) },
217
219
 
218
220
 
219
221
  content),
@@ -256,14 +258,14 @@ MenuItem = (0, _rootNodeDecorator.rootNode)(_class = (_temp = _class2 = /*#__PUR
256
258
  getComponent = function () {
257
259
  var _this$props = _this.props,disabled = _this$props.disabled,component = _this$props.component,href = _this$props.href;
258
260
 
259
- if (disabled) {
260
- return 'button';
261
- }
262
-
263
261
  if (component) {
264
262
  return component;
265
263
  }
266
264
 
265
+ if (disabled) {
266
+ return 'button';
267
+ }
268
+
267
269
  if (href) {
268
270
  return 'a';
269
271
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["MenuItem.tsx"],"names":["MenuItemDataTids","root","comment","MenuItem","rootNode","state","iconOffsetTop","mouseEntered","rootRef","renderMain","props","link","icon","loose","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","href","rel","rest","hover","disabled","iconElement","top","styles","theme","className","rootMobile","selected","withIcon","Boolean","children","content","Component","getComponent","setRootRef","handleMouseEnterFix","handleMouseLeave","undefined","contentMobile","commentHover","e","element","render","setRootNode","componentDidMount","setState","window","getComputedStyle","getPropertyValue","React","__KONTUR_REACT_UI__","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","target","onClick","func","isMenuItem"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps extends Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n\n isMobile?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n };\n\n public state = {\n iconOffsetTop: 0,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.rootRef) {\n this.setState({ iconOffsetTop: window.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n ...rest\n } = props;\n\n const hover = state === 'hover' && !this.props.disabled;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div style={{ top: this.state.iconOffsetTop }} className={cx({ [styles.icon(this.theme)]: true })}>\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: hover,\n [styles.selected(this.theme)]: state === 'selected',\n [styles.link(this.theme)]: !!link,\n [styles.withIcon(this.theme)]: Boolean(iconElement) || !!_enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n state={state}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.contentMobile()]: isMobile,\n })}\n >\n {content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: hover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered && this.props.onMouseEnter) {\n this.mouseEntered = true;\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (disabled) {\n return 'button';\n }\n\n if (component) {\n return component;\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"]}
1
+ {"version":3,"sources":["MenuItem.tsx"],"names":["MenuItemDataTids","root","comment","MenuItem","rootNode","state","iconOffsetTop","mouseEntered","rootRef","renderMain","props","link","icon","loose","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","href","disabled","rel","rest","hover","iconElement","top","styles","theme","className","rootMobile","selected","withIcon","Boolean","children","content","Component","getComponent","setRootRef","handleMouseEnterFix","handleMouseLeave","undefined","mobileContentWithIcon","commentHover","e","element","render","setRootNode","componentDidMount","setState","window","getComputedStyle","getPropertyValue","React","__KONTUR_REACT_UI__","__MENU_ITEM__","propTypes","PropTypes","node","bool","string","target","onClick","func","isMenuItem"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps extends Omit<CommonProps, 'children'> {\n /**\n * @ignore\n */\n _enableIconPadding?: boolean;\n /**\n * Добавляет описание для элемента меню.\n */\n comment?: React.ReactNode;\n /**\n * Отключенное состояние.\n */\n disabled?: boolean;\n /**\n * Добавляет элементу меню иконку.\n */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n */\n link?: boolean;\n /**\n * @ignore\n */\n loose?: boolean;\n /**\n * @ignore\n */\n state?: MenuItemState;\n /**\n * HTML-событие `onclick`.\n */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler;\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n /**\n * HTML-атрибут `target`.\n */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n /**\n * HTML-атрибут `title`.\n */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n /**\n * HTML-атрибут `href`.\n */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n /**\n * HTML-атрибут `rel`.\n *\n * Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\"\n */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n /**\n * Заменяет корневой элемент, на компонент переданный в проп.\n *\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`.\n */\n component?: React.ComponentType<any>;\n\n isMobile?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n *\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n };\n\n public state = {\n iconOffsetTop: 0,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.rootRef) {\n this.setState({ iconOffsetTop: window.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n }\n\n private renderMain = (props: CommonWrapperRestProps<MenuItemProps>) => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n rel = this.props.href && isExternalLink(this.props.href) ? 'noopener noreferrer' : this.props.rel,\n ...rest\n } = props;\n\n const hover = state === 'hover' && !disabled;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div style={{ top: this.state.iconOffsetTop }} className={cx({ [styles.icon(this.theme)]: true })}>\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: hover,\n [styles.selected(this.theme)]: state === 'selected',\n [styles.link(this.theme)]: !!link,\n [styles.withIcon(this.theme)]: Boolean(iconElement) || !!_enableIconPadding,\n [styles.disabled(this.theme)]: !!this.props.disabled,\n });\n\n const { children } = this.props;\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.props.state);\n }\n\n const Component = this.getComponent();\n\n return (\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={state}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n >\n {content}\n </span>\n {this.props.comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: hover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n );\n };\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered && this.props.onMouseEnter) {\n this.mouseEntered = true;\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"]}
@@ -1,4 +1,8 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
+ export declare const getMenuItemPaddings: ({ menuItemLegacyPaddingX, menuItemPaddingX, menuItemLegacyPaddingY, menuItemPaddingY, }: Record<'menuItemLegacyPaddingX' | 'menuItemPaddingX' | 'menuItemLegacyPaddingY' | 'menuItemPaddingY', string>) => {
3
+ paddingX: string;
4
+ paddingY: string;
5
+ };
2
6
  export declare const styles: {
3
7
  root(t: Theme): string;
4
8
  rootMobile(t: Theme): string;
@@ -11,5 +15,5 @@ export declare const styles: {
11
15
  comment(t: Theme): string;
12
16
  commentHover(t: Theme): string;
13
17
  icon(t: Theme): string;
14
- contentMobile(): string;
18
+ mobileContentWithIcon(): string;
15
19
  };
@@ -1,20 +1,36 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = exports.getMenuItemPaddings = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
2
2
  var _Emotion = require("../../lib/theming/Emotion");
3
3
  var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
4
4
 
5
+ var getMenuItemPaddings = function getMenuItemPaddings(_ref)
6
+
7
+
8
+
9
+
10
+ {var menuItemLegacyPaddingX = _ref.menuItemLegacyPaddingX,menuItemPaddingX = _ref.menuItemPaddingX,menuItemLegacyPaddingY = _ref.menuItemLegacyPaddingY,menuItemPaddingY = _ref.menuItemPaddingY;
11
+ var legacyPaddingX = parseFloat(menuItemLegacyPaddingX);
12
+ var legacyPaddingY = parseFloat(menuItemLegacyPaddingY);
13
+
14
+ var paddingX = legacyPaddingX !== 0 ? parseFloat(menuItemPaddingX) + legacyPaddingX + "px" : menuItemPaddingX;
15
+ var paddingY = legacyPaddingY !== 0 ? parseFloat(menuItemPaddingY) + legacyPaddingY + "px" : menuItemPaddingY;
16
+
17
+ return { paddingX: paddingX, paddingY: paddingY };
18
+ };exports.getMenuItemPaddings = getMenuItemPaddings;
19
+
5
20
  var styles = (0, _Emotion.memoizeStyle)({
6
21
  root: function root(t) {
7
- var legacyPaddingX = parseFloat(t.menuItemLegacyPaddingX);
8
- var legacyPaddingY = parseFloat(t.menuItemLegacyPaddingY);
22
+ var _getMenuItemPaddings = getMenuItemPaddings({
23
+ menuItemLegacyPaddingX: t.menuItemLegacyPaddingX,
24
+ menuItemPaddingX: t.menuItemPaddingX,
25
+ menuItemLegacyPaddingY: t.menuItemLegacyPaddingY,
26
+ menuItemPaddingY: t.menuItemPaddingY }),paddingX = _getMenuItemPaddings.paddingX,paddingY = _getMenuItemPaddings.paddingY;
9
27
 
10
- var paddingX = legacyPaddingX !== 0 ? parseFloat(t.menuItemPaddingX) + legacyPaddingX + "px" : t.menuItemPaddingX;
11
- var paddingY = legacyPaddingY !== 0 ? parseFloat(t.menuItemPaddingY) + legacyPaddingY + "px" : t.menuItemPaddingY;
12
28
 
13
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n cursor: pointer;\n display: block;\n line-height: ", ";\n font-size: ", ";\n padding: ", " ", " ", " ", ";\n position: relative;\n text-decoration: none;\n color: ", ";\n border-radius: ", ";\n\n button& {\n min-width: 100%;\n }\n "])),
29
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n cursor: pointer;\n display: ", ";\n line-height: ", ";\n font-size: ", ";\n padding: ", " ", " ", " ", ";\n position: relative;\n text-decoration: none;\n color: ", ";\n border-radius: ", ";\n\n button& {\n min-width: 100%;\n }\n "])),
14
30
  (0, _Mixins.resetButton)(),
15
31
 
16
32
 
17
-
33
+ t.menuItemDisplay,
18
34
  t.menuItemLineHeight,
19
35
  t.menuItemFontSize,
20
36
  t.menuItemPaddingY, paddingX, paddingY, t.menuItemPaddingX,
@@ -31,8 +47,8 @@ var styles = (0, _Emotion.memoizeStyle)({
31
47
 
32
48
  rootMobile: function rootMobile(t) {
33
49
  return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n padding: ", ";\n "])),
34
- t.fontSizeMobile,
35
- t.lineHeightMobile,
50
+ t.menuItemFontSizeMobile,
51
+ t.menuItemLineHeightMobile,
36
52
  t.menuItemPaddingMobile);
37
53
 
38
54
  },
@@ -50,8 +66,8 @@ var styles = (0, _Emotion.memoizeStyle)({
50
66
 
51
67
  },
52
68
  disabled: function disabled(t) {
53
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: transparent;\n color: ", ";\n cursor: default;\n "])),
54
-
69
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", ";\n color: ", ";\n cursor: default;\n "])),
70
+ t.menuItemDisabledBg,
55
71
  t.menuItemDisabledColor);
56
72
 
57
73
 
@@ -92,7 +108,7 @@ var styles = (0, _Emotion.memoizeStyle)({
92
108
  t.menuItemIconLegacyShift);
93
109
 
94
110
  },
95
- contentMobile: function contentMobile() {
111
+ mobileContentWithIcon: function mobileContentWithIcon() {
96
112
  return (0, _Emotion.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-left: 8px;\n "])));
97
113
 
98
114
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MenuItem.styles.ts"],"names":["styles","root","t","legacyPaddingX","parseFloat","menuItemLegacyPaddingX","legacyPaddingY","menuItemLegacyPaddingY","paddingX","menuItemPaddingX","paddingY","menuItemPaddingY","css","menuItemLineHeight","menuItemFontSize","menuItemTextColor","menuItemBorderRadius","rootMobile","fontSizeMobile","lineHeightMobile","menuItemPaddingMobile","hover","menuItemHoverBg","menuItemHoverColor","selected","menuItemSelectedBg","disabled","menuItemDisabledColor","link","menuItemLinkColor","loose","withIcon","menuItemPaddingForIcon","comment","menuItemCommentColor","commentHover","menuItemCommentColorHover","icon","menuItemIconWidth","parseInt","menuItemIconLegacyMargin","menuItemIconLegacyShift","contentMobile"],"mappings":";AACA;AACA,iD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,QAAMC,cAAc,GAAGC,UAAU,CAACF,CAAC,CAACG,sBAAH,CAAjC;AACA,QAAMC,cAAc,GAAGF,UAAU,CAACF,CAAC,CAACK,sBAAH,CAAjC;;AAEA,QAAMC,QAAQ,GAAGL,cAAc,KAAK,CAAnB,GAA0BC,UAAU,CAACF,CAAC,CAACO,gBAAH,CAAV,GAAiCN,cAA3D,UAAgFD,CAAC,CAACO,gBAAnG;AACA,QAAMC,QAAQ,GAAGJ,cAAc,KAAK,CAAnB,GAA0BF,UAAU,CAACF,CAAC,CAACS,gBAAH,CAAV,GAAiCL,cAA3D,UAAgFJ,CAAC,CAACS,gBAAnG;;AAEA,eAAOC,YAAP;AACI,8BADJ;;;;AAKiBV,IAAAA,CAAC,CAACW,kBALnB;AAMeX,IAAAA,CAAC,CAACY,gBANjB;AAOaZ,IAAAA,CAAC,CAACS,gBAPf,EAOmCH,QAPnC,EAO+CE,QAP/C,EAO2DR,CAAC,CAACO,gBAP7D;;;AAUWP,IAAAA,CAAC,CAACa,iBAVb;AAWmBb,IAAAA,CAAC,CAACc,oBAXrB;;;;;;AAiBD,GAzBgC;;AA2BjCC,EAAAA,UA3BiC,sBA2BtBf,CA3BsB,EA2BZ;AACnB,eAAOU,YAAP;AACeV,IAAAA,CAAC,CAACgB,cADjB;AAEiBhB,IAAAA,CAAC,CAACiB,gBAFnB;AAGajB,IAAAA,CAAC,CAACkB,qBAHf;;AAKD,GAjCgC;;AAmCjCC,EAAAA,KAnCiC,iBAmC3BnB,CAnC2B,EAmCjB;AACd;AACA,eAAOU,YAAP;AACgBV,IAAAA,CAAC,CAACoB,eADlB;AAEWpB,IAAAA,CAAC,CAACqB,kBAFb;;AAID,GAzCgC;AA0CjCC,EAAAA,QA1CiC,oBA0CxBtB,CA1CwB,EA0Cd;AACjB,eAAOU,YAAP;AACgBV,IAAAA,CAAC,CAACuB,kBADlB;;AAGD,GA9CgC;AA+CjCC,EAAAA,QA/CiC,oBA+CxBxB,CA/CwB,EA+Cd;AACjB,eAAOU,YAAP;;AAEWV,IAAAA,CAAC,CAACyB,qBAFb;;;AAKD,GArDgC;AAsDjCC,EAAAA,IAtDiC,gBAsD5B1B,CAtD4B,EAsDlB;AACb,eAAOU,YAAP;AACWV,IAAAA,CAAC,CAAC2B,iBADb;;AAGD,GA1DgC;AA2DjCC,EAAAA,KA3DiC,mBA2DzB;AACN,eAAOlB,YAAP;;;AAGD,GA/DgC;AAgEjCmB,EAAAA,QAhEiC,oBAgExB7B,CAhEwB,EAgEd;AACjB,eAAOU,YAAP;AACkBV,IAAAA,CAAC,CAAC8B,sBADpB;;AAGD,GApEgC;AAqEjCC,EAAAA,OArEiC,mBAqEzB/B,CArEyB,EAqEf;AAChB,eAAOU,YAAP;AACWV,IAAAA,CAAC,CAACgC,oBADb;;;AAID,GA1EgC;AA2EjCC,EAAAA,YA3EiC,wBA2EpBjC,CA3EoB,EA2EV;AACrB,eAAOU,YAAP;AACWV,IAAAA,CAAC,CAACkC,yBADb;;;AAID,GAhFgC;AAiFjCC,EAAAA,IAjFiC,gBAiF5BnC,CAjF4B,EAiFlB;AACb,eAAOU,YAAP;AACWV,IAAAA,CAAC,CAACoC,iBADb;;;AAIUC,IAAAA,QAAQ,CAACrC,CAAC,CAACO,gBAAH,CAAR,GAA+B8B,QAAQ,CAACrC,CAAC,CAACsC,wBAAH,CAJjD;AAK0BtC,IAAAA,CAAC,CAACuC,uBAL5B;;AAOD,GAzFgC;AA0FjCC,EAAAA,aA1FiC,2BA0FjB;AACd,eAAO9B,YAAP;;;AAGD,GA9FgC,EAAb,CAAf,C","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const legacyPaddingX = parseFloat(t.menuItemLegacyPaddingX);\n const legacyPaddingY = parseFloat(t.menuItemLegacyPaddingY);\n\n const paddingX = legacyPaddingX !== 0 ? `${parseFloat(t.menuItemPaddingX) + legacyPaddingX}px` : t.menuItemPaddingX;\n const paddingY = legacyPaddingY !== 0 ? `${parseFloat(t.menuItemPaddingY) + legacyPaddingY}px` : t.menuItemPaddingY;\n\n return css`\n ${resetButton()};\n\n cursor: pointer;\n display: block;\n line-height: ${t.menuItemLineHeight};\n font-size: ${t.menuItemFontSize};\n padding: ${t.menuItemPaddingY} ${paddingX} ${paddingY} ${t.menuItemPaddingX};\n position: relative;\n text-decoration: none;\n color: ${t.menuItemTextColor};\n border-radius: ${t.menuItemBorderRadius};\n\n button& {\n min-width: 100%;\n }\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n font-size: ${t.fontSizeMobile};\n line-height: ${t.lineHeightMobile};\n padding: ${t.menuItemPaddingMobile};\n `;\n },\n\n hover(t: Theme) {\n // Color with !important in purpose to override `a:hover`\n return css`\n background: ${t.menuItemHoverBg} !important;\n color: ${t.menuItemHoverColor} !important;\n `;\n },\n selected(t: Theme) {\n return css`\n background: ${t.menuItemSelectedBg} !important;\n `;\n },\n disabled(t: Theme) {\n return css`\n background: transparent;\n color: ${t.menuItemDisabledColor};\n cursor: default;\n `;\n },\n link(t: Theme) {\n return css`\n color: ${t.menuItemLinkColor};\n `;\n },\n loose() {\n return css`\n padding-left: 15px;\n `;\n },\n withIcon(t: Theme) {\n return css`\n padding-left: ${t.menuItemPaddingForIcon};\n `;\n },\n comment(t: Theme) {\n return css`\n color: ${t.menuItemCommentColor};\n white-space: normal;\n `;\n },\n commentHover(t: Theme) {\n return css`\n color: ${t.menuItemCommentColorHover};\n opacity: 0.6;\n `;\n },\n icon(t: Theme) {\n return css`\n width: ${t.menuItemIconWidth};\n display: inline-block;\n position: absolute;\n left: ${parseInt(t.menuItemPaddingX) + parseInt(t.menuItemIconLegacyMargin)}px;\n transform: translateY(${t.menuItemIconLegacyShift});\n `;\n },\n contentMobile() {\n return css`\n margin-left: 8px;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["MenuItem.styles.ts"],"names":["getMenuItemPaddings","menuItemLegacyPaddingX","menuItemPaddingX","menuItemLegacyPaddingY","menuItemPaddingY","legacyPaddingX","parseFloat","legacyPaddingY","paddingX","paddingY","styles","root","t","css","menuItemDisplay","menuItemLineHeight","menuItemFontSize","menuItemTextColor","menuItemBorderRadius","rootMobile","menuItemFontSizeMobile","menuItemLineHeightMobile","menuItemPaddingMobile","hover","menuItemHoverBg","menuItemHoverColor","selected","menuItemSelectedBg","disabled","menuItemDisabledBg","menuItemDisabledColor","link","menuItemLinkColor","loose","withIcon","menuItemPaddingForIcon","comment","menuItemCommentColor","commentHover","menuItemCommentColorHover","icon","menuItemIconWidth","parseInt","menuItemIconLegacyMargin","menuItemIconLegacyShift","mobileContentWithIcon"],"mappings":"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","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const getMenuItemPaddings = ({\n menuItemLegacyPaddingX,\n menuItemPaddingX,\n menuItemLegacyPaddingY,\n menuItemPaddingY,\n}: Record<'menuItemLegacyPaddingX' | 'menuItemPaddingX' | 'menuItemLegacyPaddingY' | 'menuItemPaddingY', string>) => {\n const legacyPaddingX = parseFloat(menuItemLegacyPaddingX);\n const legacyPaddingY = parseFloat(menuItemLegacyPaddingY);\n\n const paddingX = legacyPaddingX !== 0 ? `${parseFloat(menuItemPaddingX) + legacyPaddingX}px` : menuItemPaddingX;\n const paddingY = legacyPaddingY !== 0 ? `${parseFloat(menuItemPaddingY) + legacyPaddingY}px` : menuItemPaddingY;\n\n return { paddingX, paddingY };\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const { paddingX, paddingY } = getMenuItemPaddings({\n menuItemLegacyPaddingX: t.menuItemLegacyPaddingX,\n menuItemPaddingX: t.menuItemPaddingX,\n menuItemLegacyPaddingY: t.menuItemLegacyPaddingY,\n menuItemPaddingY: t.menuItemPaddingY,\n });\n\n return css`\n ${resetButton()};\n\n cursor: pointer;\n display: ${t.menuItemDisplay};\n line-height: ${t.menuItemLineHeight};\n font-size: ${t.menuItemFontSize};\n padding: ${t.menuItemPaddingY} ${paddingX} ${paddingY} ${t.menuItemPaddingX};\n position: relative;\n text-decoration: none;\n color: ${t.menuItemTextColor};\n border-radius: ${t.menuItemBorderRadius};\n\n button& {\n min-width: 100%;\n }\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n font-size: ${t.menuItemFontSizeMobile};\n line-height: ${t.menuItemLineHeightMobile};\n padding: ${t.menuItemPaddingMobile};\n `;\n },\n\n hover(t: Theme) {\n // Color with !important in purpose to override `a:hover`\n return css`\n background: ${t.menuItemHoverBg} !important;\n color: ${t.menuItemHoverColor} !important;\n `;\n },\n selected(t: Theme) {\n return css`\n background: ${t.menuItemSelectedBg} !important;\n `;\n },\n disabled(t: Theme) {\n return css`\n background: ${t.menuItemDisabledBg};\n color: ${t.menuItemDisabledColor};\n cursor: default;\n `;\n },\n link(t: Theme) {\n return css`\n color: ${t.menuItemLinkColor};\n `;\n },\n loose() {\n return css`\n padding-left: 15px;\n `;\n },\n withIcon(t: Theme) {\n return css`\n padding-left: ${t.menuItemPaddingForIcon};\n `;\n },\n comment(t: Theme) {\n return css`\n color: ${t.menuItemCommentColor};\n white-space: normal;\n `;\n },\n commentHover(t: Theme) {\n return css`\n color: ${t.menuItemCommentColorHover};\n opacity: 0.6;\n `;\n },\n icon(t: Theme) {\n return css`\n width: ${t.menuItemIconWidth};\n display: inline-block;\n position: absolute;\n left: ${parseInt(t.menuItemPaddingX) + parseInt(t.menuItemIconLegacyMargin)}px;\n transform: translateY(${t.menuItemIconLegacyShift});\n `;\n },\n mobileContentWithIcon() {\n return css`\n margin-left: 8px;\n `;\n },\n});\n"]}
@@ -1,7 +1,9 @@
1
1
  "use strict";exports.__esModule = true;exports.MenuSeparator = MenuSeparator;exports.MenuSeparatorDataTids = void 0;var _react = _interopRequireWildcard(require("react"));
2
2
 
3
+ var _Emotion = require("../../lib/theming/Emotion");
3
4
  var _ThemeContext = require("../../lib/theming/ThemeContext");
4
5
  var _CommonWrapper = require("../../internal/CommonWrapper");
6
+ var _ResponsiveLayout = require("../ResponsiveLayout");
5
7
 
6
8
  var _MenuSeparator = require("./MenuSeparator.styles");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
7
9
 
@@ -20,7 +22,16 @@ function MenuSeparator(props) {
20
22
 
21
23
  return /*#__PURE__*/(
22
24
  _react.default.createElement(_CommonWrapper.CommonWrapper, props, /*#__PURE__*/
23
- _react.default.createElement("div", { "data-tid": MenuSeparatorDataTids.root, className: _MenuSeparator.styles.root(theme) })));
25
+ _react.default.createElement(_ResponsiveLayout.ResponsiveLayout, null,
26
+ function (_ref) {var _cx;var isMobile = _ref.isMobile;
27
+ return /*#__PURE__*/(
28
+ _react.default.createElement("div", {
29
+ "data-tid": MenuSeparatorDataTids.root,
30
+ className: (0, _Emotion.cx)((_cx = {}, _cx[_MenuSeparator.styles.root(theme)] = true, _cx[_MenuSeparator.styles.rootMobile(theme)] = isMobile, _cx)) }));
31
+
32
+
33
+ })));
34
+
24
35
 
25
36
 
26
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["MenuSeparator.tsx"],"names":["MenuSeparatorDataTids","root","MenuSeparator","props","theme","ThemeContext","styles","__KONTUR_REACT_UI__"],"mappings":"oHAAA;;AAEA;AACA;;AAEA,uD;;;;AAIO,IAAMA,qBAAqB,GAAG;AACnCC,EAAAA,IAAI,EAAE,qBAD6B,EAA9B;;AAGP;AACA;AACA;AACA;AACA,G;AACA,SAASC,aAAT,CAAuBC,KAAvB,EAAkD;AAChD,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA;AACE,iCAAC,4BAAD,EAAmBF,KAAnB;AACE,0CAAK,YAAUH,qBAAqB,CAACC,IAArC,EAA2C,SAAS,EAAEK,sBAAOL,IAAP,CAAYG,KAAZ,CAAtD,GADF,CADF;;;AAKD;;AAEDF,aAAa,CAACK,mBAAd,GAAoC,eAApC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n\nexport const MenuSeparatorDataTids = {\n root: 'MenuSeparator__root',\n} as const;\n/**\n * Добавляет разделительную линию между элементами меню.\n *\n * Сущности в которых может быть использован `MenuSeparator`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\nfunction MenuSeparator(props: MenuSeparatorProps) {\n const theme = useContext(ThemeContext);\n\n return (\n <CommonWrapper {...props}>\n <div data-tid={MenuSeparatorDataTids.root} className={styles.root(theme)} />\n </CommonWrapper>\n );\n}\n\nMenuSeparator.__KONTUR_REACT_UI__ = 'MenuSeparator';\n\nexport { MenuSeparator };\n"]}
1
+ {"version":3,"sources":["MenuSeparator.tsx"],"names":["MenuSeparatorDataTids","root","MenuSeparator","props","theme","ThemeContext","isMobile","styles","rootMobile","__KONTUR_REACT_UI__"],"mappings":"oHAAA;;AAEA;AACA;AACA;AACA;;AAEA,uD;;;;AAIO,IAAMA,qBAAqB,GAAG;AACnCC,EAAAA,IAAI,EAAE,qBAD6B,EAA9B;;AAGP;AACA;AACA;AACA;AACA,G;AACA,SAASC,aAAT,CAAuBC,KAAvB,EAAkD;AAChD,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA;AACE,iCAAC,4BAAD,EAAmBF,KAAnB;AACE,iCAAC,kCAAD;AACG,oBAAkB,aAAfG,QAAe,QAAfA,QAAe;AACjB;AACE;AACE,sBAAUN,qBAAqB,CAACC,IADlC;AAEE,UAAA,SAAS,EAAE,gCAAMM,sBAAON,IAAP,CAAYG,KAAZ,CAAN,IAA2B,IAA3B,MAAkCG,sBAAOC,UAAP,CAAkBJ,KAAlB,CAAlC,IAA6DE,QAA7D,OAFb,GADF;;;AAMD,KARH,CADF,CADF;;;;AAcD;;AAEDJ,aAAa,CAACO,mBAAd,GAAoC,eAApC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n\nexport const MenuSeparatorDataTids = {\n root: 'MenuSeparator__root',\n} as const;\n/**\n * Добавляет разделительную линию между элементами меню.\n *\n * Сущности в которых может быть использован `MenuSeparator`: [`DropdownMenu`](#/Components/DropdownMenu), [`Kebab`](#/Components/Kebab), [`TooltipMenu`](#/Components/TooltipMenu) и [`Select`](#/Components/Select).\n */\nfunction MenuSeparator(props: MenuSeparatorProps) {\n const theme = useContext(ThemeContext);\n\n return (\n <CommonWrapper {...props}>\n <ResponsiveLayout>\n {({ isMobile }) => {\n return (\n <div\n data-tid={MenuSeparatorDataTids.root}\n className={cx({ [styles.root(theme)]: true, [styles.rootMobile(theme)]: isMobile })}\n />\n );\n }}\n </ResponsiveLayout>\n </CommonWrapper>\n );\n}\n\nMenuSeparator.__KONTUR_REACT_UI__ = 'MenuSeparator';\n\nexport { MenuSeparator };\n"]}
@@ -1,4 +1,5 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  root(t: Theme): string;
4
+ rootMobile(t: Theme): string;
4
5
  };
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2;
2
2
 
3
3
 
4
4
  var styles = (0, _Emotion.memoizeStyle)({
@@ -7,4 +7,11 @@ var styles = (0, _Emotion.memoizeStyle)({
7
7
  t.menuSeparatorMarginY,
8
8
  t.menuSeparatorBorderWidth, t.menuSeparatorBorderColor);
9
9
 
10
+ },
11
+
12
+ rootMobile: function rootMobile(t) {
13
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin: ", " ", ";\n border-radius: 1px;\n "])),
14
+ t.mobileMenuSeparatorMarginY, t.mobileMenuSeparatorMarginX);
15
+
16
+
10
17
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["MenuSeparator.styles.ts"],"names":["styles","root","t","css","menuSeparatorMarginY","menuSeparatorBorderWidth","menuSeparatorBorderColor"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,oBADd;AAEgBF,IAAAA,CAAC,CAACG,wBAFlB,EAEoDH,CAAC,CAACI,wBAFtD;;AAID,GANgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n margin: ${t.menuSeparatorMarginY} 0;\n border-top: ${t.menuSeparatorBorderWidth} solid ${t.menuSeparatorBorderColor};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["MenuSeparator.styles.ts"],"names":["styles","root","t","css","menuSeparatorMarginY","menuSeparatorBorderWidth","menuSeparatorBorderColor","rootMobile","mobileMenuSeparatorMarginY","mobileMenuSeparatorMarginX"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,oBADd;AAEgBF,IAAAA,CAAC,CAACG,wBAFlB,EAEoDH,CAAC,CAACI,wBAFtD;;AAID,GANgC;;AAQjCC,EAAAA,UARiC,sBAQtBL,CARsB,EAQZ;AACnB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACM,0BADd,EAC4CN,CAAC,CAACO,0BAD9C;;;AAID,GAbgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n margin: ${t.menuSeparatorMarginY} 0;\n border-top: ${t.menuSeparatorBorderWidth} solid ${t.menuSeparatorBorderColor};\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n margin: ${t.mobileMenuSeparatorMarginY} ${t.mobileMenuSeparatorMarginX};\n border-radius: 1px;\n `;\n },\n});\n"]}
@@ -16,8 +16,8 @@ var _ThemeContext = require("../../lib/theming/ThemeContext");
16
16
  var _client = require("../../lib/client");
17
17
  var _CommonWrapper = require("../../internal/CommonWrapper");
18
18
  var _Emotion = require("../../lib/theming/Emotion");
19
- var _ResponsiveLayout = require("../ResponsiveLayout");
20
19
  var _createPropsGetter = require("../../lib/createPropsGetter");
20
+ var _ResponsiveLayout = require("../ResponsiveLayout");
21
21
 
22
22
  var _ModalContext = require("./ModalContext");
23
23
  var _ModalFooter = require("./ModalFooter");
@@ -260,10 +260,6 @@ Modal = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(M
260
260
 
261
261
 
262
262
 
263
-
264
-
265
-
266
-
267
263
 
268
264
 
269
265