@jetbrains/ring-ui-built 6.0.30 → 6.0.32

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 (226) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +7 -629
  2. package/components/_helpers/anchor.js +7 -6
  3. package/components/_helpers/button__classes.js +16 -14
  4. package/components/_helpers/caption.js +14 -20
  5. package/components/_helpers/card.js +95 -105
  6. package/components/_helpers/dialog__body-scroll-preventer.js +11 -19
  7. package/components/_helpers/icon__svg.js +22 -25
  8. package/components/_helpers/input.js +146 -177
  9. package/components/_helpers/query-assist__suggestions.js +74 -90
  10. package/components/_helpers/select__filter.js +48 -69
  11. package/components/_helpers/services-link.js +29 -37
  12. package/components/_helpers/sidebar.js +99 -107
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +31 -40
  15. package/components/_helpers/title.js +57 -72
  16. package/components/alert/alert.js +150 -202
  17. package/components/alert/container.js +32 -41
  18. package/components/alert-service/alert-service.js +105 -170
  19. package/components/analytics/analytics.js +12 -22
  20. package/components/analytics/analytics__custom-plugin.js +54 -75
  21. package/components/auth/auth.js +4 -36
  22. package/components/auth/auth__core.js +746 -1471
  23. package/components/auth/background-flow.js +87 -127
  24. package/components/auth/down-notification.js +30 -73
  25. package/components/auth/iframe-flow.js +75 -133
  26. package/components/auth/request-builder.js +46 -82
  27. package/components/auth/response-parser.js +86 -116
  28. package/components/auth/storage.js +171 -334
  29. package/components/auth/token-validator.js +137 -242
  30. package/components/auth/window-flow.js +92 -134
  31. package/components/auth-dialog/auth-dialog.js +114 -172
  32. package/components/auth-dialog-service/auth-dialog-service.js +8 -31
  33. package/components/avatar/avatar-example-datauri.js +23 -1
  34. package/components/avatar/avatar.js +119 -152
  35. package/components/avatar/fallback-avatar.js +22 -38
  36. package/components/badge/badge.js +35 -45
  37. package/components/button/button.js +86 -107
  38. package/components/button-group/button-group.js +19 -33
  39. package/components/button-set/button-set.js +20 -32
  40. package/components/button-toolbar/button-toolbar.js +19 -31
  41. package/components/caret/caret.js +186 -220
  42. package/components/checkbox/checkbox.js +76 -101
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +35 -132
  45. package/components/code/code.js +92 -166
  46. package/components/collapse/collapse-content.js +42 -64
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +12 -14
  49. package/components/collapse/collapse.js +11 -17
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +1 -3
  52. package/components/confirm/confirm.js +66 -104
  53. package/components/confirm-service/confirm-service.js +37 -59
  54. package/components/content-layout/content-layout.js +43 -64
  55. package/components/content-layout/sidebar.js +0 -1
  56. package/components/contenteditable/contenteditable.js +50 -59
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +129 -182
  59. package/components/data-list/data-list.mock.js +2 -6
  60. package/components/data-list/item.js +143 -170
  61. package/components/data-list/selection.js +76 -136
  62. package/components/data-list/title.js +1 -12
  63. package/components/date-picker/consts.js +19 -26
  64. package/components/date-picker/date-input.js +113 -144
  65. package/components/date-picker/date-picker.js +227 -282
  66. package/components/date-picker/date-popup.js +350 -395
  67. package/components/date-picker/day.js +87 -116
  68. package/components/date-picker/month-names.js +43 -66
  69. package/components/date-picker/month-slider.js +51 -76
  70. package/components/date-picker/month.js +16 -25
  71. package/components/date-picker/months.js +43 -50
  72. package/components/date-picker/weekdays.js +12 -22
  73. package/components/date-picker/years.js +83 -110
  74. package/components/dialog/dialog.js +142 -190
  75. package/components/dialog/dialog__body-scroll-preventer.js +0 -4
  76. package/components/dropdown/anchor.js +0 -9
  77. package/components/dropdown/dropdown.js +182 -213
  78. package/components/dropdown-menu/dropdown-menu.js +71 -97
  79. package/components/editable-heading/editable-heading.js +75 -127
  80. package/components/error-bubble/error-bubble.js +31 -60
  81. package/components/error-message/error-message.js +39 -59
  82. package/components/footer/footer.js +27 -30
  83. package/components/global/compose.js +1 -10
  84. package/components/global/composeRefs.js +7 -12
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +6 -14
  88. package/components/global/dom.js +47 -86
  89. package/components/global/focus-sensor-hoc.js +122 -132
  90. package/components/global/fuzzy-highlight.js +22 -36
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +4 -8
  93. package/components/global/inject-styles.js +10 -15
  94. package/components/global/listeners.js +27 -51
  95. package/components/global/memoize.js +6 -12
  96. package/components/global/normalize-indent.js +19 -50
  97. package/components/global/promise-with-timeout.js +6 -8
  98. package/components/global/prop-types.js +3 -5
  99. package/components/global/react-dom-renderer.js +28 -44
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +12 -30
  102. package/components/global/schedule-raf.js +5 -6
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +0 -22
  105. package/components/global/trivial-template-tag.js +3 -10
  106. package/components/global/typescript-utils.js +2 -6
  107. package/components/global/url.js +20 -26
  108. package/components/global/use-event-callback.js +6 -4
  109. package/components/grid/col.js +35 -52
  110. package/components/grid/grid.js +17 -31
  111. package/components/grid/row.js +35 -47
  112. package/components/group/group.js +17 -25
  113. package/components/header/header.js +33 -78
  114. package/components/header/logo.js +20 -36
  115. package/components/header/profile.js +166 -199
  116. package/components/header/services-link.js +0 -4
  117. package/components/header/services.js +73 -116
  118. package/components/header/smart-profile.js +111 -203
  119. package/components/header/smart-services.js +62 -113
  120. package/components/header/tray-icon.js +21 -37
  121. package/components/header/tray.js +21 -32
  122. package/components/heading/heading.js +24 -25
  123. package/components/http/http.d.ts +1 -3
  124. package/components/http/http.js +203 -353
  125. package/components/http/http.mock.js +49 -101
  126. package/components/hub-source/hub-source.js +83 -190
  127. package/components/hub-source/hub-source__user.js +11 -44
  128. package/components/hub-source/hub-source__users-groups.js +37 -65
  129. package/components/i18n/i18n-context.js +7 -10
  130. package/components/i18n/i18n.js +7 -10
  131. package/components/icon/icon.js +76 -93
  132. package/components/icon/icon__svg.js +0 -8
  133. package/components/icon/index.js +0 -8
  134. package/components/input/input.js +0 -13
  135. package/components/island/adaptive-island-hoc.js +30 -43
  136. package/components/island/content.js +115 -132
  137. package/components/island/header.js +57 -70
  138. package/components/island/island.js +28 -40
  139. package/components/island-legacy/content-legacy.js +17 -25
  140. package/components/island-legacy/header-legacy.js +19 -27
  141. package/components/island-legacy/island-legacy.js +17 -25
  142. package/components/link/clickableLink.js +44 -59
  143. package/components/link/link.js +57 -68
  144. package/components/list/consts.js +2 -2
  145. package/components/list/list.js +611 -698
  146. package/components/list/list__custom.js +44 -62
  147. package/components/list/list__hint.js +10 -19
  148. package/components/list/list__item.js +133 -174
  149. package/components/list/list__link.js +37 -50
  150. package/components/list/list__separator.js +14 -24
  151. package/components/list/list__title.js +22 -32
  152. package/components/list/list__users-groups-source.js +54 -126
  153. package/components/loader/loader.js +43 -74
  154. package/components/loader/loader__core.js +198 -263
  155. package/components/loader-inline/loader-inline.js +23 -35
  156. package/components/loader-screen/loader-screen.js +25 -46
  157. package/components/login-dialog/login-dialog.js +111 -158
  158. package/components/login-dialog/service.js +8 -34
  159. package/components/markdown/markdown.js +15 -23
  160. package/components/message/message.js +161 -203
  161. package/components/old-browsers-message/old-browsers-message.js +11 -18
  162. package/components/old-browsers-message/old-browsers-message__stop.js +0 -7
  163. package/components/old-browsers-message/white-list.js +8 -16
  164. package/components/pager/pager.js +212 -271
  165. package/components/panel/panel.js +17 -25
  166. package/components/permissions/permissions.js +127 -172
  167. package/components/permissions/permissions__cache.js +194 -224
  168. package/components/popup/popup.consts.js +1 -1
  169. package/components/popup/popup.js +284 -343
  170. package/components/popup/popup.target.js +9 -8
  171. package/components/popup/position.js +96 -106
  172. package/components/popup-menu/popup-menu.js +44 -80
  173. package/components/progress-bar/progress-bar.js +87 -104
  174. package/components/query-assist/query-assist.js +838 -916
  175. package/components/query-assist/query-assist__suggestions.js +1 -30
  176. package/components/radio/radio.js +19 -34
  177. package/components/radio/radio__item.js +52 -69
  178. package/components/select/select.js +852 -957
  179. package/components/select/select__filter.js +0 -30
  180. package/components/select/select__popup.js +373 -487
  181. package/components/shortcuts/core.js +166 -217
  182. package/components/shortcuts/shortcut-title.js +6 -11
  183. package/components/shortcuts/shortcuts-hoc.js +19 -45
  184. package/components/shortcuts/shortcuts.js +50 -75
  185. package/components/slider/slider.js +99 -122
  186. package/components/slider/slider.utils.js +14 -24
  187. package/components/storage/storage.js +4 -33
  188. package/components/storage/storage__fallback.js +149 -224
  189. package/components/storage/storage__local.js +90 -153
  190. package/components/style.css +1 -1
  191. package/components/tab-trap/tab-trap.js +122 -153
  192. package/components/table/cell.js +14 -26
  193. package/components/table/disable-hover-hoc.js +33 -51
  194. package/components/table/header-cell.js +64 -89
  195. package/components/table/header.js +104 -132
  196. package/components/table/multitable.js +107 -125
  197. package/components/table/row-with-focus-sensor.js +25 -69
  198. package/components/table/row.js +175 -216
  199. package/components/table/selection-adapter.js +1 -3
  200. package/components/table/selection-shortcuts-hoc.js +180 -181
  201. package/components/table/selection.js +156 -226
  202. package/components/table/smart-table.js +50 -88
  203. package/components/table/table.js +289 -358
  204. package/components/tabs/collapsible-more.js +46 -79
  205. package/components/tabs/collapsible-tab.js +31 -38
  206. package/components/tabs/collapsible-tabs.js +88 -153
  207. package/components/tabs/custom-item.js +4 -2
  208. package/components/tabs/dumb-tabs.js +74 -117
  209. package/components/tabs/smart-tabs.js +29 -69
  210. package/components/tabs/tab-link.js +1 -5
  211. package/components/tabs/tab.js +19 -31
  212. package/components/tabs/tabs.js +0 -31
  213. package/components/tag/tag.js +133 -173
  214. package/components/tags-input/tags-input.js +329 -427
  215. package/components/tags-list/tags-list.js +57 -78
  216. package/components/text/text.js +28 -39
  217. package/components/toggle/toggle.js +56 -70
  218. package/components/tooltip/tooltip.js +146 -190
  219. package/components/user-agreement/service.js +228 -371
  220. package/components/user-agreement/toolbox.eula.js +160 -1
  221. package/components/user-agreement/user-agreement.js +85 -120
  222. package/components/user-card/card.js +0 -29
  223. package/components/user-card/smart-user-card-tooltip.js +51 -111
  224. package/components/user-card/tooltip.js +47 -84
  225. package/components/user-card/user-card.js +0 -29
  226. package/package.json +1 -1
@@ -1,17 +1,8 @@
1
- import 'core-js/modules/es.array.reduce.js';
2
- import 'core-js/modules/es.object.to-string.js';
3
-
4
1
  function compose() {
5
2
  for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
6
3
  funcs[_key] = arguments[_key];
7
4
  }
8
- return funcs.reduce(function (acc, func) {
9
- return function (arg) {
10
- return acc(func(arg));
11
- };
12
- }, function (arg) {
13
- return arg;
14
- });
5
+ return funcs.reduce((acc, func) => arg => acc(func(arg)), arg => arg);
15
6
  }
16
7
 
17
8
  export { compose as default };
@@ -1,19 +1,14 @@
1
- import 'core-js/modules/es.object.to-string.js';
2
- import 'core-js/modules/web.dom-collections.for-each.js';
3
-
4
1
  var composeRefs = (function () {
5
2
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
6
3
  refs[_key] = arguments[_key];
7
4
  }
8
- return function (value) {
9
- return refs.forEach(function (ref) {
10
- if (typeof ref === 'function') {
11
- ref(value);
12
- } else if (ref != null) {
13
- ref.current = value;
14
- }
15
- });
16
- };
5
+ return value => refs.forEach(ref => {
6
+ if (typeof ref === 'function') {
7
+ ref(value);
8
+ } else if (ref != null) {
9
+ ref.current = value;
10
+ }
11
+ });
17
12
  });
18
13
 
19
14
  export { composeRefs as default };
@@ -6,8 +6,8 @@ var ControlsHeight;
6
6
  ControlsHeight["M"] = "M";
7
7
  ControlsHeight["L"] = "L";
8
8
  })(ControlsHeight || (ControlsHeight = {}));
9
- var ControlsHeightContext = /*#__PURE__*/createContext(ControlsHeight.M);
10
- var globalControlsHeight = ControlsHeight.M;
9
+ const ControlsHeightContext = /*#__PURE__*/createContext(ControlsHeight.M);
10
+ let globalControlsHeight = ControlsHeight.M;
11
11
  // This can be used if React Context is not applicable, for example for alertService or Auth dialog
12
12
  function configureGlobalControlsHeight(value) {
13
13
  globalControlsHeight = value;
@@ -1,17 +1,15 @@
1
- import { j as _slicedToArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import React, { memo, createContext, useState, useContext, useEffect } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
 
5
4
  function createStatefulContext(initialValue) {
6
- var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
7
- var ValueContext = /*#__PURE__*/createContext(initialValue);
8
- var UpdateContext = /*#__PURE__*/createContext(function () {});
5
+ let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
6
+ const ValueContext = /*#__PURE__*/createContext(initialValue);
7
+ const UpdateContext = /*#__PURE__*/createContext(() => {});
9
8
  function Provider(_ref) {
10
- var children = _ref.children;
11
- var _useState = useState(initialValue),
12
- _useState2 = _slicedToArray(_useState, 2),
13
- value = _useState2[0],
14
- update = _useState2[1];
9
+ let {
10
+ children
11
+ } = _ref;
12
+ const [value, update] = useState(initialValue);
15
13
  return /*#__PURE__*/React.createElement(ValueContext.Provider, {
16
14
  value: value
17
15
  }, /*#__PURE__*/React.createElement(UpdateContext.Provider, {
@@ -21,22 +19,24 @@ function createStatefulContext(initialValue) {
21
19
  Provider.propTypes = {
22
20
  children: PropTypes.node
23
21
  };
24
- Provider.displayName = "".concat(name, "Provider");
22
+ Provider.displayName = `${name}Provider`;
25
23
  function useUpdate(value, skipUpdate) {
26
- var update = useContext(UpdateContext);
27
- useEffect(function () {
24
+ const update = useContext(UpdateContext);
25
+ useEffect(() => {
28
26
  if (!skipUpdate) {
29
27
  update(value);
30
28
  }
31
29
  }, [update, value, skipUpdate]);
32
30
  }
33
31
  function Updater(_ref2) {
34
- var value = _ref2.value,
35
- skipUpdate = _ref2.skipUpdate;
32
+ let {
33
+ value,
34
+ skipUpdate
35
+ } = _ref2;
36
36
  useUpdate(value, skipUpdate);
37
37
  return null;
38
38
  }
39
- Updater.displayName = "".concat(name, "Updater");
39
+ Updater.displayName = `${name}Updater`;
40
40
  return {
41
41
  ValueContext,
42
42
  UpdateContext,
@@ -1,29 +1,21 @@
1
- import { k as _toConsumableArray, j as _slicedToArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.reduce.js';
4
- import 'core-js/modules/es.object.entries.js';
5
- import 'core-js/modules/es.object.to-string.js';
6
-
7
1
  function expandMap(attrsMap) {
8
- return Object.entries(attrsMap).reduce(function (result, _ref) {
9
- var _ref2 = _slicedToArray(_ref, 2),
10
- key = _ref2[0],
11
- value = _ref2[1];
12
- return value ? [].concat(_toConsumableArray(result), [key]) : result;
2
+ return Object.entries(attrsMap).reduce((result, _ref) => {
3
+ let [key, value] = _ref;
4
+ return value ? [...result, key] : result;
13
5
  }, []);
14
6
  }
15
7
  function joinDataTestAttributes() {
16
8
  for (var _len = arguments.length, attrs = new Array(_len), _key = 0; _key < _len; _key++) {
17
9
  attrs[_key] = arguments[_key];
18
10
  }
19
- return attrs.reduce(function (result, attr) {
11
+ return attrs.reduce((result, attr) => {
20
12
  if (!attr) {
21
13
  return result;
22
14
  }
23
15
  if (typeof attr === 'object') {
24
- return [].concat(_toConsumableArray(result), _toConsumableArray(expandMap(attr)));
16
+ return [...result, ...expandMap(attr)];
25
17
  }
26
- return [].concat(_toConsumableArray(result), [attr]);
18
+ return [...result, attr];
27
19
  }, []).join(' ');
28
20
  }
29
21
 
@@ -1,26 +1,14 @@
1
- import { j as _slicedToArray, b as _createClass, f as _classCallCheck, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.filter.js';
3
- import 'core-js/modules/es.array.iterator.js';
4
- import 'core-js/modules/es.object.assign.js';
5
- import 'core-js/modules/es.object.entries.js';
6
- import 'core-js/modules/es.object.to-string.js';
7
- import 'core-js/modules/es.regexp.exec.js';
8
- import 'core-js/modules/es.set.js';
9
- import 'core-js/modules/es.string.split.js';
10
- import 'core-js/modules/web.dom-collections.for-each.js';
11
- import 'core-js/modules/web.dom-collections.iterator.js';
12
-
13
1
  /**
14
2
  * @name DOM
15
3
  */
16
- var getStyles = window.getComputedStyle.bind(window);
4
+ const getStyles = window.getComputedStyle.bind(window);
17
5
  function isMounted(node) {
18
6
  if (node === document) {
19
7
  return true;
20
8
  }
21
9
  return node instanceof Node && document.documentElement.contains(node.parentNode);
22
10
  }
23
- var rectStub = {
11
+ const rectStub = {
24
12
  top: 0,
25
13
  right: 0,
26
14
  bottom: 0,
@@ -30,13 +18,14 @@ var rectStub = {
30
18
  };
31
19
  function getRect(node) {
32
20
  if (node instanceof Range || node != null && isMounted(node)) {
33
- var _node$getBoundingClie = node.getBoundingClientRect(),
34
- top = _node$getBoundingClie.top,
35
- right = _node$getBoundingClie.right,
36
- bottom = _node$getBoundingClie.bottom,
37
- left = _node$getBoundingClie.left,
38
- width = _node$getBoundingClie.width,
39
- height = _node$getBoundingClie.height;
21
+ const {
22
+ top,
23
+ right,
24
+ bottom,
25
+ left,
26
+ width,
27
+ height
28
+ } = node.getBoundingClientRect();
40
29
  return {
41
30
  top,
42
31
  right,
@@ -59,11 +48,12 @@ function getWindowWidth() {
59
48
  return window.innerWidth;
60
49
  }
61
50
  function isNodeInVisiblePartOfPage(node) {
62
- var _getRect = getRect(node),
63
- top = _getRect.top,
64
- bottom = _getRect.bottom,
65
- left = _getRect.left,
66
- right = _getRect.right;
51
+ const {
52
+ top,
53
+ bottom,
54
+ left,
55
+ right
56
+ } = getRect(node);
67
57
  return !(bottom < 0 || right < 0 || getWindowHeight() - top < 0 || getWindowWidth() - left < 0);
68
58
  }
69
59
  function getDocumentScrollTop() {
@@ -72,74 +62,45 @@ function getDocumentScrollTop() {
72
62
  function getDocumentScrollLeft() {
73
63
  return document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft;
74
64
  }
75
- var applyMethodToClasses = function applyMethodToClasses(method) {
76
- return function (classList) {
77
- var classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
78
- classes.split(/\s+/g).filter(function (className) {
79
- return !!className;
80
- }).forEach(function (className) {
81
- return classList[method](className);
82
- });
83
- };
84
- };
85
- var addClasses = applyMethodToClasses('add');
86
- var removeClasses = applyMethodToClasses('remove');
87
- var toggleClasses = function toggleClasses(classList, classes) {
88
- return Object.entries(classes).forEach(function (_ref) {
89
- var _ref2 = _slicedToArray(_ref, 2),
90
- className = _ref2[0],
91
- on = _ref2[1];
92
- return classList.toggle(className, on);
93
- });
65
+ const applyMethodToClasses = method => function (classList) {
66
+ let classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
67
+ classes.split(/\s+/g).filter(className => !!className).forEach(className => classList[method](className));
94
68
  };
69
+ const addClasses = applyMethodToClasses('add');
70
+ const removeClasses = applyMethodToClasses('remove');
71
+ const toggleClasses = (classList, classes) => Object.entries(classes).forEach(_ref => {
72
+ let [className, on] = _ref;
73
+ return classList.toggle(className, on);
74
+ });
95
75
  function setRootStyleProperties() {
96
- var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
97
- var rootStyle = document.documentElement.style;
98
- Object.entries(properties).forEach(function (_ref3) {
99
- var _ref4 = _slicedToArray(_ref3, 2),
100
- key = _ref4[0],
101
- value = _ref4[1];
76
+ let properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
+ const rootStyle = document.documentElement.style;
78
+ Object.entries(properties).forEach(_ref2 => {
79
+ let [key, value] = _ref2;
102
80
  rootStyle.setProperty(key, value);
103
81
  });
104
82
  }
105
83
  function resetRootStyleProperties() {
106
- var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
107
- var rootStyle = document.documentElement.style;
108
- Object.keys(properties).forEach(function (key) {
109
- return rootStyle.removeProperty(key);
110
- });
84
+ let properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
85
+ const rootStyle = document.documentElement.style;
86
+ Object.keys(properties).forEach(key => rootStyle.removeProperty(key));
111
87
  }
112
- var Listeners = /*#__PURE__*/function () {
113
- function Listeners() {
114
- _classCallCheck(this, Listeners);
115
- _defineProperty(this, "_all", new Set());
88
+ class Listeners {
89
+ _all = new Set();
90
+ add(el, event, handler, options) {
91
+ el.addEventListener(event, handler, options);
92
+ const dispatchFn = () => el.removeEventListener(event, handler, options);
93
+ this._all.add(dispatchFn);
94
+ return dispatchFn;
116
95
  }
117
- return _createClass(Listeners, [{
118
- key: "add",
119
- value: function add(el, event, handler, options) {
120
- el.addEventListener(event, handler, options);
121
- var dispatchFn = function dispatchFn() {
122
- return el.removeEventListener(event, handler, options);
123
- };
124
- this._all.add(dispatchFn);
125
- return dispatchFn;
126
- }
127
- }, {
128
- key: "remove",
129
- value: function remove(fn) {
130
- fn();
131
- this._all.delete(fn);
132
- }
133
- }, {
134
- key: "removeAll",
135
- value: function removeAll() {
136
- var _this = this;
137
- this._all.forEach(function (fn) {
138
- return _this.remove(fn);
139
- });
140
- }
141
- }]);
142
- }();
96
+ remove(fn) {
97
+ fn();
98
+ this._all.delete(fn);
99
+ }
100
+ removeAll() {
101
+ this._all.forEach(fn => this.remove(fn));
102
+ }
103
+ }
143
104
  // Synthetic events from Combokeys#trigger are plain objects
144
105
  function preventDefault(e) {
145
106
  if (e.preventDefault) {
@@ -1,162 +1,152 @@
1
- import { d as _objectSpread2, c as _objectWithoutProperties, a as _inherits, b as _createClass, e as _extends, f as _classCallCheck, g as _callSuper, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
3
2
  import React, { Component } from 'react';
4
3
  import PropTypes from 'prop-types';
5
4
  import { refObject } from './prop-types.js';
6
5
  import composeRefs from './composeRefs.js';
7
- import 'core-js/modules/es.object.to-string.js';
8
- import 'core-js/modules/web.dom-collections.for-each.js';
9
6
 
10
- var _excluded = ["innerRef", "focused", "onFocusReset", "onFocusRestore"],
11
- _excluded2 = ["autofocus", "focused", "onFocus", "onBlur", "innerRef", "scrollOnTableFocus"];
12
7
  function extractPropTypes(_ref) {
13
- var propTypes = _ref.propTypes;
8
+ let {
9
+ propTypes
10
+ } = _ref;
14
11
  if (propTypes == null) {
15
12
  return propTypes;
16
13
  }
17
- propTypes.innerRef;
18
- propTypes.focused;
19
- propTypes.onFocusReset;
20
- propTypes.onFocusRestore;
21
- var restPropTypes = _objectWithoutProperties(propTypes, _excluded);
14
+ const {
15
+ innerRef,
16
+ focused,
17
+ onFocusReset,
18
+ onFocusRestore,
19
+ ...restPropTypes
20
+ } = propTypes;
22
21
  return restPropTypes;
23
22
  }
24
23
  function focusSensorHOC(ComposedComponent) {
25
- var FocusSensor = /*#__PURE__*/function (_Component) {
26
- function FocusSensor() {
27
- var _this;
28
- _classCallCheck(this, FocusSensor);
29
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
- args[_key] = arguments[_key];
24
+ class FocusSensor extends Component {
25
+ state = {
26
+ focused: this.props.focused
27
+ };
28
+ componentDidMount() {
29
+ const {
30
+ props: {
31
+ autofocus,
32
+ scrollOnTableFocus
33
+ },
34
+ node
35
+ } = this;
36
+ node?.setAttribute('tabindex', '0');
37
+ if (node != null) {
38
+ node.style.outline = 'none';
31
39
  }
32
- _this = _callSuper(this, FocusSensor, [].concat(args));
33
- _defineProperty(_this, "state", {
34
- focused: _this.props.focused
35
- });
36
- _defineProperty(_this, "node", void 0);
37
- _defineProperty(_this, "_skipNextCapture", false);
38
- _defineProperty(_this, "onRefUpdate", function (node) {
39
- if (node) {
40
- _this.node = node;
41
- }
42
- });
43
- _defineProperty(_this, "onFocusCapture", function (_ref2) {
44
- var _this$node;
45
- var target = _ref2.target;
46
- if (_this._skipNextCapture) {
47
- _this._skipNextCapture = false;
48
- return;
49
- }
50
- var focused = target instanceof Node && ((_this$node = _this.node) === null || _this$node === void 0 ? void 0 : _this$node.contains(target));
51
- if (focused && !_this.state.focused) {
52
- var _this$props$onFocus, _this$props;
53
- _this.setState({
54
- focused: true
55
- });
56
- (_this$props$onFocus = (_this$props = _this.props).onFocus) === null || _this$props$onFocus === void 0 || _this$props$onFocus.call(_this$props);
57
- }
58
- });
59
- _defineProperty(_this, "onBlurCapture", function (_ref3) {
60
- var target = _ref3.target;
61
- var _this2 = _this,
62
- focused = _this2.state.focused,
63
- node = _this2.node;
64
- if (focused) {
65
- setTimeout(function () {
66
- var blurred = target instanceof Node && (node === null || node === void 0 ? void 0 : node.contains(target)) && !node.contains(document.activeElement);
67
- if (blurred) {
68
- var _this$props$onBlur, _this$props2;
69
- _this.setState({
70
- focused: false
71
- });
72
- (_this$props$onBlur = (_this$props2 = _this.props).onBlur) === null || _this$props$onBlur === void 0 || _this$props$onBlur.call(_this$props2);
73
- }
74
- }, 1);
75
- }
76
- });
77
- _defineProperty(_this, "onFocusRestore", function () {
78
- var _this$node2;
79
- _this._skipNextCapture = true;
80
- (_this$node2 = _this.node) === null || _this$node2 === void 0 || _this$node2.focus({
81
- preventScroll: !_this.props.scrollOnTableFocus
40
+ document.addEventListener('focus', this.onFocusCapture, true);
41
+ document.addEventListener('blur', this.onBlurCapture, true);
42
+ if (autofocus) {
43
+ node?.focus({
44
+ preventScroll: !scrollOnTableFocus
82
45
  });
83
- });
84
- _defineProperty(_this, "onFocusReset", function () {
85
- var _this$node3;
86
- (_this$node3 = _this.node) === null || _this$node3 === void 0 || _this$node3.blur();
87
- });
88
- return _this;
46
+ }
89
47
  }
90
- _inherits(FocusSensor, _Component);
91
- return _createClass(FocusSensor, [{
92
- key: "componentDidMount",
93
- value: function componentDidMount() {
94
- var _this$props3 = this.props,
95
- autofocus = _this$props3.autofocus,
96
- scrollOnTableFocus = _this$props3.scrollOnTableFocus,
97
- node = this.node;
98
- node === null || node === void 0 || node.setAttribute('tabindex', '0');
99
- if (node != null) {
100
- node.style.outline = 'none';
101
- }
102
- document.addEventListener('focus', this.onFocusCapture, true);
103
- document.addEventListener('blur', this.onBlurCapture, true);
104
- if (autofocus) {
105
- node === null || node === void 0 || node.focus({
106
- preventScroll: !scrollOnTableFocus
107
- });
108
- }
48
+ componentDidUpdate(prevProps) {
49
+ const {
50
+ focused
51
+ } = this.props;
52
+ if (focused && !prevProps.focused) {
53
+ this.onFocusRestore();
54
+ } else if (!focused && prevProps.focused) {
55
+ this.onFocusReset();
109
56
  }
110
- }, {
111
- key: "componentDidUpdate",
112
- value: function componentDidUpdate(prevProps) {
113
- var focused = this.props.focused;
114
- if (focused && !prevProps.focused) {
115
- this.onFocusRestore();
116
- } else if (!focused && prevProps.focused) {
117
- this.onFocusReset();
118
- }
57
+ }
58
+ componentWillUnmount() {
59
+ document.removeEventListener('focus', this.onFocusCapture, true);
60
+ document.removeEventListener('blur', this.onBlurCapture, true);
61
+ }
62
+ node;
63
+ _skipNextCapture = false;
64
+ onRefUpdate = node => {
65
+ if (node) {
66
+ this.node = node;
119
67
  }
120
- }, {
121
- key: "componentWillUnmount",
122
- value: function componentWillUnmount() {
123
- document.removeEventListener('focus', this.onFocusCapture, true);
124
- document.removeEventListener('blur', this.onBlurCapture, true);
68
+ };
69
+ onFocusCapture = _ref2 => {
70
+ let {
71
+ target
72
+ } = _ref2;
73
+ if (this._skipNextCapture) {
74
+ this._skipNextCapture = false;
75
+ return;
76
+ }
77
+ const focused = target instanceof Node && this.node?.contains(target);
78
+ if (focused && !this.state.focused) {
79
+ this.setState({
80
+ focused: true
81
+ });
82
+ this.props.onFocus?.();
125
83
  }
126
- }, {
127
- key: "render",
128
- value: function render() {
129
- var _this$props4 = this.props;
130
- _this$props4.autofocus;
131
- _this$props4.focused;
132
- _this$props4.onFocus;
133
- _this$props4.onBlur;
134
- var innerRef = _this$props4.innerRef;
135
- _this$props4.scrollOnTableFocus;
136
- var rest = _objectWithoutProperties(_this$props4, _excluded2);
137
- return /*#__PURE__*/React.createElement(ComposedComponent, _extends({}, rest, {
138
- innerRef: composeRefs(innerRef, this.onRefUpdate),
139
- focused: this.state.focused,
140
- onFocusReset: this.onFocusReset,
141
- onFocusRestore: this.onFocusRestore
142
- }));
84
+ };
85
+ onBlurCapture = _ref3 => {
86
+ let {
87
+ target
88
+ } = _ref3;
89
+ const {
90
+ state: {
91
+ focused
92
+ },
93
+ node
94
+ } = this;
95
+ if (focused) {
96
+ setTimeout(() => {
97
+ const blurred = target instanceof Node && node?.contains(target) && !node.contains(document.activeElement);
98
+ if (blurred) {
99
+ this.setState({
100
+ focused: false
101
+ });
102
+ this.props.onBlur?.();
103
+ }
104
+ }, 1);
143
105
  }
144
- }]);
145
- }(Component);
146
- FocusSensor.propTypes = _objectSpread2(_objectSpread2({}, extractPropTypes(ComposedComponent)), {}, {
106
+ };
107
+ onFocusRestore = () => {
108
+ this._skipNextCapture = true;
109
+ this.node?.focus({
110
+ preventScroll: !this.props.scrollOnTableFocus
111
+ });
112
+ };
113
+ onFocusReset = () => {
114
+ this.node?.blur();
115
+ };
116
+ render() {
117
+ const {
118
+ autofocus,
119
+ focused,
120
+ onFocus,
121
+ onBlur,
122
+ innerRef,
123
+ scrollOnTableFocus,
124
+ ...rest
125
+ } = this.props;
126
+ return /*#__PURE__*/React.createElement(ComposedComponent, _extends({}, rest, {
127
+ innerRef: composeRefs(innerRef, this.onRefUpdate),
128
+ focused: this.state.focused,
129
+ onFocusReset: this.onFocusReset,
130
+ onFocusRestore: this.onFocusRestore
131
+ }));
132
+ }
133
+ }
134
+ FocusSensor.propTypes = {
135
+ ...extractPropTypes(ComposedComponent),
147
136
  focused: PropTypes.bool,
148
137
  autofocus: PropTypes.bool,
149
138
  onFocus: PropTypes.func,
150
139
  onBlur: PropTypes.func,
151
140
  innerRef: PropTypes.oneOfType([PropTypes.func, refObject(PropTypes.instanceOf(HTMLElement))])
152
- });
153
- FocusSensor.defaultProps = _objectSpread2(_objectSpread2({}, ComposedComponent.defaultProps), {}, {
141
+ };
142
+ FocusSensor.defaultProps = {
143
+ ...ComposedComponent.defaultProps,
154
144
  focused: false,
155
145
  autofocus: false,
156
146
  scrollOnTableFocus: true,
157
- onFocus: function onFocus() {},
158
- onBlur: function onBlur() {}
159
- });
147
+ onFocus: () => {},
148
+ onBlur: () => {}
149
+ };
160
150
  return FocusSensor;
161
151
  }
162
152