@salutejs/plasma-new-hope 0.335.0-canary.2196.17375511532.0 → 0.335.0-canary.2196.17400757003.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 (194) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +4 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/cjs/components/Calendar/Calendar.tokens.js +1 -0
  6. package/cjs/components/Calendar/Calendar.tokens.js.map +1 -1
  7. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  8. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  9. package/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  10. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  11. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  12. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  13. package/cjs/components/DatePicker/{DatePickerBase.styles_10sa0ht.css → DatePickerBase.styles_1fnt3hc.css} +1 -1
  14. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  15. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  16. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  17. package/{es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1n0dbxm.css → cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_160e4y4.css} +2 -2
  18. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  19. package/cjs/components/Popup/Popup.js +8 -67
  20. package/cjs/components/Popup/Popup.js.map +1 -1
  21. package/cjs/components/Popup/ui/Draggable/Draggable.js +33 -0
  22. package/cjs/components/Popup/ui/Draggable/Draggable.js.map +1 -0
  23. package/cjs/components/Popup/ui/Resizable/Resizable.js +79 -0
  24. package/cjs/components/Popup/ui/Resizable/Resizable.js.map +1 -0
  25. package/cjs/components/Slider/ui/Handler/Handler.js +3 -3
  26. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  27. package/cjs/components/Tooltip/Tooltip.js +22 -45
  28. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  29. package/cjs/components/Tooltip/hooks/useDelayedTooltip.js +49 -0
  30. package/cjs/components/Tooltip/hooks/useDelayedTooltip.js.map +1 -0
  31. package/cjs/components/Tree/Tree.css +6 -6
  32. package/cjs/components/Tree/Tree.js +9 -2
  33. package/cjs/components/Tree/Tree.js.map +1 -1
  34. package/cjs/components/Tree/Tree.styles.js +1 -1
  35. package/cjs/components/Tree/Tree.styles.js.map +1 -1
  36. package/cjs/components/Tree/Tree.styles_6sla5y.css +7 -0
  37. package/cjs/components/Tree/Tree.tokens.js +2 -1
  38. package/cjs/components/Tree/Tree.tokens.js.map +1 -1
  39. package/cjs/index.css +10 -10
  40. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -1
  41. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  42. package/emotion/cjs/components/Calendar/Calendar.tokens.js +1 -0
  43. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  44. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  45. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +5 -5
  46. package/emotion/cjs/components/Popup/Popup.js +7 -69
  47. package/emotion/cjs/components/Popup/ui/Draggable/Draggable.js +75 -0
  48. package/emotion/cjs/components/Popup/ui/Resizable/Resizable.js +114 -0
  49. package/emotion/cjs/components/Popup/ui/index.js +20 -0
  50. package/emotion/cjs/components/Tooltip/Tooltip.js +19 -41
  51. package/emotion/cjs/components/Tooltip/hooks/index.js +11 -0
  52. package/emotion/cjs/components/Tooltip/hooks/useDelayedTooltip.js +93 -0
  53. package/emotion/cjs/components/Tree/Tree.js +7 -2
  54. package/emotion/cjs/components/Tree/Tree.styles.js +13 -13
  55. package/emotion/cjs/components/Tree/Tree.tokens.js +2 -1
  56. package/emotion/cjs/examples/components/Calendar/CalendarBase.config.js +5 -5
  57. package/emotion/cjs/examples/components/Calendar/CalendarDouble.config.js +5 -5
  58. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  59. package/emotion/cjs/examples/components/DatePicker/DatePicker.config.js +7 -7
  60. package/emotion/es/components/Autocomplete/Autocomplete.js +3 -1
  61. package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
  62. package/emotion/es/components/Calendar/Calendar.tokens.js +1 -0
  63. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  64. package/emotion/es/components/DatePicker/DatePicker.tokens.js +1 -0
  65. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +5 -5
  66. package/emotion/es/components/Popup/Popup.js +6 -63
  67. package/emotion/es/components/Popup/ui/Draggable/Draggable.js +19 -0
  68. package/emotion/es/components/Popup/ui/Resizable/Resizable.js +63 -0
  69. package/emotion/es/components/Popup/ui/index.js +2 -0
  70. package/emotion/es/components/Tooltip/Tooltip.js +20 -42
  71. package/emotion/es/components/Tooltip/hooks/index.js +1 -0
  72. package/emotion/es/components/Tooltip/hooks/useDelayedTooltip.js +83 -0
  73. package/emotion/es/components/Tree/Tree.js +7 -2
  74. package/emotion/es/components/Tree/Tree.styles.js +13 -13
  75. package/emotion/es/components/Tree/Tree.tokens.js +2 -1
  76. package/emotion/es/examples/components/Calendar/CalendarBase.config.js +5 -5
  77. package/emotion/es/examples/components/Calendar/CalendarDouble.config.js +5 -5
  78. package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
  79. package/emotion/es/examples/components/DatePicker/DatePicker.config.js +7 -7
  80. package/es/components/Autocomplete/Autocomplete.js +4 -1
  81. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  82. package/es/components/Autocomplete/FloatingPopover.js +6 -5
  83. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  84. package/es/components/Calendar/Calendar.tokens.js +1 -0
  85. package/es/components/Calendar/Calendar.tokens.js.map +1 -1
  86. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  87. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  88. package/es/components/DatePicker/DatePicker.tokens.js +1 -0
  89. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  90. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  91. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  92. package/es/components/DatePicker/{DatePickerBase.styles_10sa0ht.css → DatePickerBase.styles_1fnt3hc.css} +1 -1
  93. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  94. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  95. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  96. package/{cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1n0dbxm.css → es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_160e4y4.css} +2 -2
  97. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  98. package/es/components/Popup/Popup.js +7 -65
  99. package/es/components/Popup/Popup.js.map +1 -1
  100. package/es/components/Popup/ui/Draggable/Draggable.js +24 -0
  101. package/es/components/Popup/ui/Draggable/Draggable.js.map +1 -0
  102. package/es/components/Popup/ui/Resizable/Resizable.js +71 -0
  103. package/es/components/Popup/ui/Resizable/Resizable.js.map +1 -0
  104. package/es/components/Slider/ui/Handler/Handler.js +2 -2
  105. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  106. package/es/components/Tooltip/Tooltip.js +23 -46
  107. package/es/components/Tooltip/Tooltip.js.map +1 -1
  108. package/es/components/Tooltip/hooks/useDelayedTooltip.js +45 -0
  109. package/es/components/Tooltip/hooks/useDelayedTooltip.js.map +1 -0
  110. package/es/components/Tree/Tree.css +6 -6
  111. package/es/components/Tree/Tree.js +9 -2
  112. package/es/components/Tree/Tree.js.map +1 -1
  113. package/es/components/Tree/Tree.styles.js +1 -1
  114. package/es/components/Tree/Tree.styles.js.map +1 -1
  115. package/es/components/Tree/Tree.styles_6sla5y.css +7 -0
  116. package/es/components/Tree/Tree.tokens.js +2 -1
  117. package/es/components/Tree/Tree.tokens.js.map +1 -1
  118. package/es/index.css +10 -10
  119. package/package.json +4 -4
  120. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -1
  121. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  122. package/styled-components/cjs/components/Calendar/Calendar.tokens.js +1 -0
  123. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +3 -3
  124. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +1 -0
  125. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +3 -3
  126. package/styled-components/cjs/components/Popup/Popup.js +7 -69
  127. package/styled-components/cjs/components/Popup/ui/Draggable/Draggable.js +75 -0
  128. package/styled-components/cjs/components/Popup/ui/Resizable/Resizable.js +114 -0
  129. package/styled-components/cjs/components/Popup/ui/index.js +20 -0
  130. package/styled-components/cjs/components/Tooltip/Tooltip.js +18 -40
  131. package/styled-components/cjs/components/Tooltip/hooks/index.js +11 -0
  132. package/styled-components/cjs/components/Tooltip/hooks/useDelayedTooltip.js +93 -0
  133. package/styled-components/cjs/components/Tree/Tree.js +7 -2
  134. package/styled-components/cjs/components/Tree/Tree.styles.js +13 -10
  135. package/styled-components/cjs/components/Tree/Tree.tokens.js +2 -1
  136. package/styled-components/cjs/examples/components/Calendar/CalendarBase.config.js +8 -4
  137. package/styled-components/cjs/examples/components/Calendar/CalendarDouble.config.js +8 -4
  138. package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
  139. package/styled-components/cjs/examples/components/DatePicker/DatePicker.config.js +8 -4
  140. package/styled-components/es/components/Autocomplete/Autocomplete.js +3 -1
  141. package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
  142. package/styled-components/es/components/Calendar/Calendar.tokens.js +1 -0
  143. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -4
  144. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +1 -0
  145. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +3 -3
  146. package/styled-components/es/components/Popup/Popup.js +6 -63
  147. package/styled-components/es/components/Popup/ui/Draggable/Draggable.js +19 -0
  148. package/styled-components/es/components/Popup/ui/Resizable/Resizable.js +63 -0
  149. package/styled-components/es/components/Popup/ui/index.js +2 -0
  150. package/styled-components/es/components/Tooltip/Tooltip.js +19 -41
  151. package/styled-components/es/components/Tooltip/hooks/index.js +1 -0
  152. package/styled-components/es/components/Tooltip/hooks/useDelayedTooltip.js +83 -0
  153. package/styled-components/es/components/Tree/Tree.js +7 -2
  154. package/styled-components/es/components/Tree/Tree.styles.js +13 -10
  155. package/styled-components/es/components/Tree/Tree.tokens.js +2 -1
  156. package/styled-components/es/examples/components/Calendar/CalendarBase.config.js +8 -4
  157. package/styled-components/es/examples/components/Calendar/CalendarDouble.config.js +8 -4
  158. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  159. package/styled-components/es/examples/components/DatePicker/DatePicker.config.js +8 -4
  160. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  161. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -0
  162. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  163. package/types/components/Calendar/Calendar.tokens.d.ts +1 -0
  164. package/types/components/Calendar/Calendar.tokens.d.ts.map +1 -1
  165. package/types/components/DatePicker/DatePicker.tokens.d.ts +1 -0
  166. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  167. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  168. package/types/components/Popup/Popup.d.ts.map +1 -1
  169. package/types/components/Popup/ui/Draggable/Draggable.d.ts +6 -0
  170. package/types/components/Popup/ui/Draggable/Draggable.d.ts.map +1 -0
  171. package/types/components/Popup/ui/Resizable/Resizable.d.ts +7 -0
  172. package/types/components/Popup/ui/Resizable/Resizable.d.ts.map +1 -0
  173. package/types/components/Popup/ui/index.d.ts +3 -0
  174. package/types/components/Popup/ui/index.d.ts.map +1 -0
  175. package/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  176. package/types/components/Tooltip/Tooltip.types.d.ts +31 -20
  177. package/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  178. package/types/components/Tooltip/hooks/index.d.ts +2 -0
  179. package/types/components/Tooltip/hooks/index.d.ts.map +1 -0
  180. package/types/components/Tooltip/hooks/useDelayedTooltip.d.ts +7 -0
  181. package/types/components/Tooltip/hooks/useDelayedTooltip.d.ts.map +1 -0
  182. package/types/components/Tree/Tree.d.ts.map +1 -1
  183. package/types/components/Tree/Tree.styles.d.ts.map +1 -1
  184. package/types/components/Tree/Tree.tokens.d.ts +1 -0
  185. package/types/components/Tree/Tree.tokens.d.ts.map +1 -1
  186. package/types/components/Tree/Tree.types.d.ts +11 -4
  187. package/types/components/Tree/Tree.types.d.ts.map +1 -1
  188. package/types/examples/components/Autocomplete/Autocomplete.d.ts +8 -0
  189. package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  190. package/types/examples/components/Calendar/CalendarBase.config.d.ts.map +1 -1
  191. package/types/examples/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
  192. package/types/examples/components/DatePicker/DatePicker.config.d.ts.map +1 -1
  193. package/cjs/components/Tree/Tree.styles_1w91oy6.css +0 -7
  194. package/es/components/Tree/Tree.styles_1w91oy6.css +0 -7
@@ -21,11 +21,9 @@ _export(exports, {
21
21
  });
22
22
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
23
23
  var _plasmacore = require("@salutejs/plasma-core");
24
- var _reactdraggable = /*#__PURE__*/ _interop_require_default(require("react-draggable"));
25
- var _reresizable = require("re-resizable");
26
24
  var _utils = require("../../utils");
27
25
  var _Portal = require("../Portal");
28
- var _utils1 = require("./utils");
26
+ var _ui = require("./ui");
29
27
  var _PopupRoot = require("./PopupRoot");
30
28
  var _hooks = require("./hooks");
31
29
  var _Popuptokens = require("./Popup.tokens");
@@ -51,11 +49,6 @@ function _define_property(obj, key, value) {
51
49
  }
52
50
  return obj;
53
51
  }
54
- function _interop_require_default(obj) {
55
- return obj && obj.__esModule ? obj : {
56
- default: obj
57
- };
58
- }
59
52
  function _getRequireWildcardCache(nodeInterop) {
60
53
  if (typeof WeakMap !== "function") return null;
61
54
  var cacheBabelInterop = new WeakMap();
@@ -255,12 +248,7 @@ var popupRoot = function(Root) {
255
248
  "draggable",
256
249
  "resizable"
257
250
  ]);
258
- var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
259
- var nodeRef = (0, _react.useRef)(null);
260
251
  var innerIsOpen = isOpen || opened;
261
- var resizable = typeof outerResizable === 'boolean' ? {
262
- disabled: !outerResizable
263
- } : outerResizable;
264
252
  var uniqId = (0, _utils.safeUseId)();
265
253
  var innerId = id || uniqId;
266
254
  var _usePopup = (0, _hooks.usePopup)({
@@ -271,22 +259,11 @@ var popupRoot = function(Root) {
271
259
  }), isVisible = _usePopup.isVisible, animationInfo = _usePopup.animationInfo, setVisible = _usePopup.setVisible, rootId = _usePopup.rootId;
272
260
  var portalRef = (0, _react.useRef)(null);
273
261
  var contentRef = (0, _react.useRef)(null);
274
- var resizableContainer = (0, _react.useRef)(null);
275
262
  var innerRef = (0, _plasmacore.useForkRef)(contentRef, outerRootRef);
276
263
  if (!isVisible && !innerIsOpen) {
277
264
  return null;
278
265
  }
279
266
  var cls = (0, _utils.cx)(className, (animationInfo === null || animationInfo === void 0 ? void 0 : animationInfo.endAnimation) ? _Popuptokens.classes.endAnimation : '', (animationInfo === null || animationInfo === void 0 ? void 0 : animationInfo.endTransition) ? _Popuptokens.classes.endTransition : '');
280
- var handleResizeStart = function() {
281
- if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
282
- resizableContainer.current.resizable.classList.toggle(_Popuptokens.classes.resizableContainerNoSelect);
283
- }
284
- };
285
- var handleResizeStop = function() {
286
- if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
287
- resizableContainer.current.resizable.classList.toggle(_Popuptokens.classes.resizableContainerNoSelect);
288
- }
289
- };
290
267
  var rootNode = /*#__PURE__*/ _react.default.createElement(Root, {
291
268
  className: cls
292
269
  }, overlay, /*#__PURE__*/ _react.default.createElement(_PopupRoot.PopupRoot, _object_spread({
@@ -297,51 +274,12 @@ var popupRoot = function(Root) {
297
274
  frame: frame,
298
275
  animationInfo: animationInfo,
299
276
  setVisible: setVisible
300
- }, rest), /*#__PURE__*/ _react.default.createElement(_reactdraggable.default, {
301
- nodeRef: nodeRef,
302
- defaultClassName: draggable ? _Popuptokens.classes.draggablePopupWrapper : undefined,
303
- defaultClassNameDragging: draggable ? _Popuptokens.classes.draggingPopupWrapper : undefined,
304
- disabled: !draggable,
305
- cancel: ".".concat(_Popuptokens.classes.resizableHandleWrapper)
306
- }, /*#__PURE__*/ _react.default.createElement("div", {
307
- ref: nodeRef
308
- }, /*#__PURE__*/ _react.default.createElement(_reresizable.Resizable, {
309
- ref: resizableContainer,
310
- enable: resizable && !resizable.disabled ? (0, _utils1.getResizeDirections)(resizable.directions) : false,
311
- resizeRatio: (0, _utils1.getRatioBasedOnPlacement)(placement),
312
- defaultSize: resizable === null || resizable === void 0 ? void 0 : resizable.defaultSize,
313
- minWidth: resizable === null || resizable === void 0 ? void 0 : resizable.minWidth,
314
- minHeight: resizable === null || resizable === void 0 ? void 0 : resizable.minHeight,
315
- maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
316
- maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
317
- onResizeStart: handleResizeStart,
318
- onResizeStop: handleResizeStop,
319
- handleComponent: {
320
- topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
321
- className: _Popuptokens.classes.resizableTopRightIcon,
322
- color: "inherit",
323
- size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
324
- })),
325
- bottomRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons1 = resizable.hiddenIcons) === null || _resizable_hiddenIcons1 === void 0 ? void 0 : _resizable_hiddenIcons1.includes('bottom-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons1 = resizable.icons) === null || _resizable_icons1 === void 0 ? void 0 : _resizable_icons1.bottomRight) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
326
- className: _Popuptokens.classes.resizableBottomRightIcon,
327
- color: "inherit",
328
- size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
329
- })),
330
- bottomLeft: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons2 = resizable.hiddenIcons) === null || _resizable_hiddenIcons2 === void 0 ? void 0 : _resizable_hiddenIcons2.includes('bottom-left')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons2 = resizable.icons) === null || _resizable_icons2 === void 0 ? void 0 : _resizable_icons2.bottomLeft) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
331
- className: _Popuptokens.classes.resizableBottomLeftIcon,
332
- color: "inherit",
333
- size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
334
- })),
335
- topLeft: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons3 = resizable.hiddenIcons) === null || _resizable_hiddenIcons3 === void 0 ? void 0 : _resizable_hiddenIcons3.includes('top-left')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons3 = resizable.icons) === null || _resizable_icons3 === void 0 ? void 0 : _resizable_icons3.topLeft) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
336
- className: _Popuptokens.classes.resizableTopLeftIcon,
337
- color: "inherit",
338
- size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
339
- }))
340
- },
341
- className: _Popuptokens.classes.resizableContainer,
342
- handleStyles: (0, _utils1.getHandleStyles)(),
343
- handleWrapperClass: _Popuptokens.classes.resizableHandleWrapper
344
- }, children)))));
277
+ }, rest), /*#__PURE__*/ _react.default.createElement(_ui.Draggable, {
278
+ draggable: draggable
279
+ }, /*#__PURE__*/ _react.default.createElement(_ui.Resizable, {
280
+ resizable: outerResizable,
281
+ placement: placement
282
+ }, children))));
345
283
  if (typeof frame !== 'string' && frame && frame.current && _utils.canUseDOM) {
346
284
  return /*#__PURE__*/ _react.default.createElement(_Portal.Portal, {
347
285
  container: frame.current
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Draggable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Draggable;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _reactdraggable = /*#__PURE__*/ _interop_require_default(require("react-draggable"));
13
+ var _Popuptokens = require("../../Popup.tokens");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ function _getRequireWildcardCache(nodeInterop) {
20
+ if (typeof WeakMap !== "function") return null;
21
+ var cacheBabelInterop = new WeakMap();
22
+ var cacheNodeInterop = new WeakMap();
23
+ return (_getRequireWildcardCache = function(nodeInterop) {
24
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
25
+ })(nodeInterop);
26
+ }
27
+ function _interop_require_wildcard(obj, nodeInterop) {
28
+ if (!nodeInterop && obj && obj.__esModule) {
29
+ return obj;
30
+ }
31
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
32
+ return {
33
+ default: obj
34
+ };
35
+ }
36
+ var cache = _getRequireWildcardCache(nodeInterop);
37
+ if (cache && cache.has(obj)) {
38
+ return cache.get(obj);
39
+ }
40
+ var newObj = {
41
+ __proto__: null
42
+ };
43
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
44
+ for(var key in obj){
45
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
46
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
47
+ if (desc && (desc.get || desc.set)) {
48
+ Object.defineProperty(newObj, key, desc);
49
+ } else {
50
+ newObj[key] = obj[key];
51
+ }
52
+ }
53
+ }
54
+ newObj.default = obj;
55
+ if (cache) {
56
+ cache.set(obj, newObj);
57
+ }
58
+ return newObj;
59
+ }
60
+ var Draggable = function(param) {
61
+ var children = param.children, draggable = param.draggable;
62
+ var nodeRef = (0, _react.useRef)(null);
63
+ if (!draggable) {
64
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
65
+ }
66
+ return /*#__PURE__*/ _react.default.createElement(_reactdraggable.default, {
67
+ nodeRef: nodeRef,
68
+ defaultClassName: draggable ? _Popuptokens.classes.draggablePopupWrapper : undefined,
69
+ defaultClassNameDragging: draggable ? _Popuptokens.classes.draggingPopupWrapper : undefined,
70
+ disabled: !draggable,
71
+ cancel: ".".concat(_Popuptokens.classes.resizableHandleWrapper)
72
+ }, /*#__PURE__*/ _react.default.createElement("div", {
73
+ ref: nodeRef
74
+ }, children));
75
+ };
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Resizable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Resizable;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _reresizable = require("re-resizable");
13
+ var _Popuptokens = require("../../Popup.tokens");
14
+ var _utils = require("../../utils");
15
+ var _Popupstyles = require("../../Popup.styles");
16
+ function _getRequireWildcardCache(nodeInterop) {
17
+ if (typeof WeakMap !== "function") return null;
18
+ var cacheBabelInterop = new WeakMap();
19
+ var cacheNodeInterop = new WeakMap();
20
+ return (_getRequireWildcardCache = function(nodeInterop) {
21
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
22
+ })(nodeInterop);
23
+ }
24
+ function _interop_require_wildcard(obj, nodeInterop) {
25
+ if (!nodeInterop && obj && obj.__esModule) {
26
+ return obj;
27
+ }
28
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
29
+ return {
30
+ default: obj
31
+ };
32
+ }
33
+ var cache = _getRequireWildcardCache(nodeInterop);
34
+ if (cache && cache.has(obj)) {
35
+ return cache.get(obj);
36
+ }
37
+ var newObj = {
38
+ __proto__: null
39
+ };
40
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
41
+ for(var key in obj){
42
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
43
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
44
+ if (desc && (desc.get || desc.set)) {
45
+ Object.defineProperty(newObj, key, desc);
46
+ } else {
47
+ newObj[key] = obj[key];
48
+ }
49
+ }
50
+ }
51
+ newObj.default = obj;
52
+ if (cache) {
53
+ cache.set(obj, newObj);
54
+ }
55
+ return newObj;
56
+ }
57
+ var Resizable = function(param) {
58
+ var children = param.children, outerResizable = param.resizable, placement = param.placement;
59
+ var _resizable_hiddenIcons, _resizable_icons, _resizable_hiddenIcons1, _resizable_icons1, _resizable_hiddenIcons2, _resizable_icons2, _resizable_hiddenIcons3, _resizable_icons3;
60
+ var resizableContainer = (0, _react.useRef)(null);
61
+ var resizable = typeof outerResizable === 'boolean' ? {
62
+ disabled: !outerResizable
63
+ } : outerResizable;
64
+ var handleResizeStart = function() {
65
+ if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
66
+ resizableContainer.current.resizable.classList.toggle(_Popuptokens.classes.resizableContainerNoSelect);
67
+ }
68
+ };
69
+ var handleResizeStop = function() {
70
+ if ((resizableContainer === null || resizableContainer === void 0 ? void 0 : resizableContainer.current) && resizableContainer.current.resizable) {
71
+ resizableContainer.current.resizable.classList.toggle(_Popuptokens.classes.resizableContainerNoSelect);
72
+ }
73
+ };
74
+ if (!resizable || resizable.disabled) {
75
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
76
+ }
77
+ return /*#__PURE__*/ _react.default.createElement(_reresizable.Resizable, {
78
+ ref: resizableContainer,
79
+ enable: resizable && !resizable.disabled ? (0, _utils.getResizeDirections)(resizable.directions) : false,
80
+ resizeRatio: (0, _utils.getRatioBasedOnPlacement)(placement),
81
+ defaultSize: resizable === null || resizable === void 0 ? void 0 : resizable.defaultSize,
82
+ minWidth: resizable === null || resizable === void 0 ? void 0 : resizable.minWidth,
83
+ minHeight: resizable === null || resizable === void 0 ? void 0 : resizable.minHeight,
84
+ maxWidth: resizable === null || resizable === void 0 ? void 0 : resizable.maxWidth,
85
+ maxHeight: resizable === null || resizable === void 0 ? void 0 : resizable.maxHeight,
86
+ onResizeStart: handleResizeStart,
87
+ onResizeStop: handleResizeStop,
88
+ handleComponent: {
89
+ topRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons = resizable.hiddenIcons) === null || _resizable_hiddenIcons === void 0 ? void 0 : _resizable_hiddenIcons.includes('top-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons = resizable.icons) === null || _resizable_icons === void 0 ? void 0 : _resizable_icons.topRight) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
90
+ className: _Popuptokens.classes.resizableTopRightIcon,
91
+ color: "inherit",
92
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
93
+ })),
94
+ bottomRight: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons1 = resizable.hiddenIcons) === null || _resizable_hiddenIcons1 === void 0 ? void 0 : _resizable_hiddenIcons1.includes('bottom-right')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons1 = resizable.icons) === null || _resizable_icons1 === void 0 ? void 0 : _resizable_icons1.bottomRight) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
95
+ className: _Popuptokens.classes.resizableBottomRightIcon,
96
+ color: "inherit",
97
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
98
+ })),
99
+ bottomLeft: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons2 = resizable.hiddenIcons) === null || _resizable_hiddenIcons2 === void 0 ? void 0 : _resizable_hiddenIcons2.includes('bottom-left')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons2 = resizable.icons) === null || _resizable_icons2 === void 0 ? void 0 : _resizable_icons2.bottomLeft) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
100
+ className: _Popuptokens.classes.resizableBottomLeftIcon,
101
+ color: "inherit",
102
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
103
+ })),
104
+ topLeft: (resizable === null || resizable === void 0 ? void 0 : (_resizable_hiddenIcons3 = resizable.hiddenIcons) === null || _resizable_hiddenIcons3 === void 0 ? void 0 : _resizable_hiddenIcons3.includes('top-left')) ? undefined : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (resizable === null || resizable === void 0 ? void 0 : (_resizable_icons3 = resizable.icons) === null || _resizable_icons3 === void 0 ? void 0 : _resizable_icons3.topLeft) || /*#__PURE__*/ _react.default.createElement(_Popupstyles.IconResizeDiagonalStyled, {
105
+ className: _Popuptokens.classes.resizableTopLeftIcon,
106
+ color: "inherit",
107
+ size: resizable === null || resizable === void 0 ? void 0 : resizable.iconSize
108
+ }))
109
+ },
110
+ className: _Popuptokens.classes.resizableContainer,
111
+ handleStyles: (0, _utils.getHandleStyles)(),
112
+ handleWrapperClass: _Popuptokens.classes.resizableHandleWrapper
113
+ }, children);
114
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get Draggable () {
13
+ return _Draggable.Draggable;
14
+ },
15
+ get Resizable () {
16
+ return _Resizable.Resizable;
17
+ }
18
+ });
19
+ var _Draggable = require("./Draggable/Draggable");
20
+ var _Resizable = require("./Resizable/Resizable");
@@ -19,8 +19,9 @@ _export(exports, {
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
20
  var _styledcomponents = /*#__PURE__*/ _interop_require_default(require("styled-components"));
21
21
  var _engines = require("../../engines");
22
- var _Popover = require("../Popover");
23
22
  var _utils = require("../../utils");
23
+ var _Popover = require("../Popover");
24
+ var _hooks = require("./hooks");
24
25
  var _Tooltipstyles = require("./Tooltip.styles");
25
26
  var _base = require("./variations/_view/base");
26
27
  var _base1 = require("./variations/_size/base");
@@ -179,7 +180,7 @@ var getStringValue = function(value) {
179
180
  var Popover = (0, _engines.component)(_Popover.popoverConfig);
180
181
  var StyledPopover = (0, _styledcomponents.default)(Popover).withConfig({
181
182
  displayName: "Tooltip__StyledPopover",
182
- componentId: "sc-1c7fd257-0"
183
+ componentId: "sc-1fef1a42-0"
183
184
  })([
184
185
  "",
185
186
  ":var(",
@@ -200,7 +201,7 @@ var tooltipRoot = function(Root) {
200
201
  var id = _param.id, text = _param.text, opened = _param.opened, isVisible = _param.isVisible, isOpen = _param.isOpen, _param_hasArrow = _param.hasArrow, hasArrow = _param_hasArrow === void 0 ? true : _param_hasArrow, arrow = _param.arrow, animated = _param.animated, _param_offset = _param.offset, offset = _param_offset === void 0 ? [
201
202
  3,
202
203
  8
203
- ] : _param_offset, minWidth = _param.minWidth, maxWidth = _param.maxWidth, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'bottom' : _param_placement, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? true : _param_usePortal, target = _param.target, children = _param.children, onDismiss = _param.onDismiss, view = _param.view, size = _param.size, contentLeft = _param.contentLeft, _param_zIndex = _param.zIndex, zIndex = _param_zIndex === void 0 ? '9200' : _param_zIndex, className = _param.className, style = _param.style, _param_hoverTimeout = _param.hoverTimeout, hoverTimeout = _param_hoverTimeout === void 0 ? 300 : _param_hoverTimeout, trigger = _param.trigger, rest = _object_without_properties(_param, [
204
+ ] : _param_offset, minWidth = _param.minWidth, maxWidth = _param.maxWidth, _param_placement = _param.placement, placement = _param_placement === void 0 ? 'bottom' : _param_placement, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? true : _param_usePortal, target = _param.target, children = _param.children, onDismiss = _param.onDismiss, view = _param.view, size = _param.size, contentLeft = _param.contentLeft, _param_zIndex = _param.zIndex, zIndex = _param_zIndex === void 0 ? '9200' : _param_zIndex, className = _param.className, style = _param.style, hoverTimeout = _param.hoverTimeout, _param_mouseEnterDelay = _param.mouseEnterDelay, mouseEnterDelay = _param_mouseEnterDelay === void 0 ? 0 : _param_mouseEnterDelay, mouseLeaveDelay = _param.mouseLeaveDelay, trigger = _param.trigger, rest = _object_without_properties(_param, [
204
205
  "id",
205
206
  "text",
206
207
  "opened",
@@ -224,16 +225,15 @@ var tooltipRoot = function(Root) {
224
225
  "className",
225
226
  "style",
226
227
  "hoverTimeout",
228
+ "mouseEnterDelay",
229
+ "mouseLeaveDelay",
227
230
  "trigger"
228
231
  ]);
229
232
  var _useState = _sliced_to_array((0, _react.useState)(null), 2), ref = _useState[0], setRef = _useState[1];
230
- var timeoutRef = (0, _react.useRef)();
231
- var _useState1 = _sliced_to_array((0, _react.useState)(false), 2), isOpened = _useState1[0], setIsOpened = _useState1[1];
232
- var _useState2 = _sliced_to_array((0, _react.useState)(false), 2), isHovered = _useState2[0], setIsHovered = _useState2[1];
233
- // TODO убрать после отказа от старого API
234
- var innerIsOpen = Boolean(isVisible || isOpen || opened);
235
- var innerHasArrow = arrow || hasArrow;
236
- var showTooltip = innerIsOpen && Boolean(text);
233
+ var _ref;
234
+ mouseLeaveDelay = (_ref = mouseLeaveDelay !== null && mouseLeaveDelay !== void 0 ? mouseLeaveDelay : hoverTimeout) !== null && _ref !== void 0 ? _ref : 300;
235
+ var _useDelayedTooltip = (0, _hooks.useDelayedTooltip)(mouseEnterDelay, mouseLeaveDelay), openedState = _useDelayedTooltip.opened, showTooltip = _useDelayedTooltip.showTooltip, hideTooltip = _useDelayedTooltip.hideTooltip, setOpened = _useDelayedTooltip.setOpened;
236
+ var isTooltipOpened = Boolean(text) && (isVisible || isOpen || opened || openedState);
237
237
  (0, _react.useEffect)(function() {
238
238
  var onKeyDown = function(event) {
239
239
  if (event.keyCode === ESCAPE_KEYCODE) {
@@ -245,45 +245,26 @@ var tooltipRoot = function(Root) {
245
245
  window.removeEventListener('keydown', onKeyDown);
246
246
  };
247
247
  }, []);
248
- var onMouseEnter = function() {
249
- clearTimeout(timeoutRef.current);
250
- setIsHovered(true);
251
- };
252
- var onMouseLeave = function() {
253
- timeoutRef.current = setTimeout(function() {
254
- setIsHovered(false);
255
- }, hoverTimeout);
256
- };
257
- (0, _react.useEffect)(function() {
258
- return function() {
259
- return clearTimeout(timeoutRef.current);
260
- };
261
- }, [
262
- trigger
263
- ]);
264
248
  var onToggle = function(isOpen) {
265
249
  if (trigger === 'hover') {
266
250
  if (isOpen) {
267
- clearTimeout(timeoutRef.current);
268
- setIsOpened(true);
251
+ showTooltip();
269
252
  } else {
270
- timeoutRef.current = setTimeout(function() {
271
- setIsOpened(false);
272
- }, hoverTimeout);
253
+ hideTooltip();
273
254
  }
274
255
  } else {
275
- setIsOpened(isOpen);
256
+ setOpened(isOpen);
276
257
  }
277
258
  };
278
259
  return /*#__PURE__*/ _react.default.createElement(StyledPopover, _object_spread({
279
- opened: showTooltip || isOpened || isHovered,
260
+ opened: isTooltipOpened,
280
261
  placement: placement,
281
262
  offset: offset,
282
263
  zIndex: zIndex,
283
264
  target: target || children,
284
265
  usePortal: usePortal,
285
- hasArrow: innerHasArrow,
286
- "aria-hidden": !innerIsOpen,
266
+ hasArrow: arrow || hasArrow,
267
+ "aria-hidden": !isTooltipOpened,
287
268
  "aria-live": "polite",
288
269
  role: "tooltip",
289
270
  animated: animated,
@@ -291,16 +272,13 @@ var tooltipRoot = function(Root) {
291
272
  }, (trigger === 'hover' || trigger === 'click') && {
292
273
  trigger: trigger,
293
274
  onToggle: onToggle
294
- }, rest), /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
275
+ }, rest), /*#__PURE__*/ _react.default.createElement(Root, {
295
276
  view: view,
296
277
  size: size,
297
278
  ref: setRef,
298
279
  className: className,
299
280
  style: style
300
- }, trigger === 'hover' && {
301
- onMouseEnter: onMouseEnter,
302
- onMouseLeave: onMouseLeave
303
- }), /*#__PURE__*/ _react.default.createElement(_Tooltipstyles.TooltipRoot, {
281
+ }, /*#__PURE__*/ _react.default.createElement(_Tooltipstyles.TooltipRoot, {
304
282
  ref: outerRef,
305
283
  id: id,
306
284
  maxWidth: getStringValue(maxWidth),
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useDelayedTooltip", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _useDelayedTooltip.useDelayedTooltip;
9
+ }
10
+ });
11
+ var _useDelayedTooltip = require("./useDelayedTooltip");
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useDelayedTooltip", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useDelayedTooltip;
9
+ }
10
+ });
11
+ var _react = require("react");
12
+ function _array_like_to_array(arr, len) {
13
+ if (len == null || len > arr.length) len = arr.length;
14
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
15
+ return arr2;
16
+ }
17
+ function _array_with_holes(arr) {
18
+ if (Array.isArray(arr)) return arr;
19
+ }
20
+ function _iterable_to_array_limit(arr, i) {
21
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
22
+ if (_i == null) return;
23
+ var _arr = [];
24
+ var _n = true;
25
+ var _d = false;
26
+ var _s, _e;
27
+ try {
28
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
29
+ _arr.push(_s.value);
30
+ if (i && _arr.length === i) break;
31
+ }
32
+ } catch (err) {
33
+ _d = true;
34
+ _e = err;
35
+ } finally{
36
+ try {
37
+ if (!_n && _i["return"] != null) _i["return"]();
38
+ } finally{
39
+ if (_d) throw _e;
40
+ }
41
+ }
42
+ return _arr;
43
+ }
44
+ function _non_iterable_rest() {
45
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
46
+ }
47
+ function _sliced_to_array(arr, i) {
48
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
49
+ }
50
+ function _unsupported_iterable_to_array(o, minLen) {
51
+ if (!o) return;
52
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
53
+ var n = Object.prototype.toString.call(o).slice(8, -1);
54
+ if (n === "Object" && o.constructor) n = o.constructor.name;
55
+ if (n === "Map" || n === "Set") return Array.from(n);
56
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
57
+ }
58
+ var useDelayedTooltip = function(openDelay, closeDelay) {
59
+ var _useState = _sliced_to_array((0, _react.useState)(false), 2), opened = _useState[0], setOpened = _useState[1];
60
+ var openTimeoutRef = (0, _react.useRef)(null);
61
+ var closeTimeoutRef = (0, _react.useRef)(null);
62
+ var clearTimeouts = function() {
63
+ if (openTimeoutRef.current) {
64
+ clearTimeout(openTimeoutRef.current);
65
+ openTimeoutRef.current = null;
66
+ }
67
+ if (closeTimeoutRef.current) {
68
+ clearTimeout(closeTimeoutRef.current);
69
+ closeTimeoutRef.current = null;
70
+ }
71
+ };
72
+ var showTooltip = function() {
73
+ clearTimeouts();
74
+ openTimeoutRef.current = setTimeout(function() {
75
+ setOpened(true);
76
+ }, openDelay);
77
+ };
78
+ var hideTooltip = function() {
79
+ clearTimeouts();
80
+ closeTimeoutRef.current = setTimeout(function() {
81
+ setOpened(false);
82
+ }, closeDelay);
83
+ };
84
+ (0, _react.useEffect)(function() {
85
+ return clearTimeouts;
86
+ }, []);
87
+ return {
88
+ opened: opened,
89
+ setOpened: setOpened,
90
+ showTooltip: showTooltip,
91
+ hideTooltip: hideTooltip
92
+ };
93
+ };
@@ -168,10 +168,14 @@ function _unsupported_iterable_to_array(o, minLen) {
168
168
  }
169
169
  var treeRoot = function(Root) {
170
170
  return /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
171
- var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle;
171
+ var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle, _param_mode = param.mode, mode = _param_mode === void 0 ? 'default' : _param_mode;
172
172
  var _useState = _sliced_to_array((0, _react.useState)(defaultSelectedKeys || []), 2), selected = _useState[0], setSelected = _useState[1];
173
173
  var selectedKeys = outerSelectedKeys !== null && outerSelectedKeys !== void 0 ? outerSelectedKeys : selected;
174
+ var isRadioMode = mode === 'radio' && !multiple;
174
175
  var handleSelect = function(updatedSelectedKeys, info) {
176
+ if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {
177
+ return;
178
+ }
175
179
  setSelected(updatedSelectedKeys);
176
180
  if (onTreeSelect) {
177
181
  onTreeSelect(updatedSelectedKeys, info);
@@ -179,6 +183,7 @@ var treeRoot = function(Root) {
179
183
  };
180
184
  var invertedClass = arrowPlacement === 'right' ? _Treetokens.classes.treeInverted : undefined;
181
185
  var itemFilledClass = fullWidthItemSelection ? _Treetokens.classes.treeItemFilled : undefined;
186
+ var radioModeClass = isRadioMode ? _Treetokens.classes.treeRadioMode : undefined;
182
187
  // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,
183
188
  // чтобы соблюсти иерархию вложенности в UI.
184
189
  var treeData = (0, _react.useMemo)(function() {
@@ -198,7 +203,7 @@ var treeRoot = function(Root) {
198
203
  virtual: virtual,
199
204
  multiple: multiple,
200
205
  checkable: checkable,
201
- className: (0, _utils.cx)(className, invertedClass, itemFilledClass),
206
+ className: (0, _utils.cx)(className, invertedClass, itemFilledClass, radioModeClass),
202
207
  defaultExpandAll: defaultExpandAll,
203
208
  autoExpandParent: autoExpandParent,
204
209
  style: {