@jetbrains/ring-ui-built 6.0.31 → 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 (225) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -567
  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/tab-trap/tab-trap.js +122 -153
  191. package/components/table/cell.js +14 -26
  192. package/components/table/disable-hover-hoc.js +33 -51
  193. package/components/table/header-cell.js +64 -89
  194. package/components/table/header.js +104 -132
  195. package/components/table/multitable.js +107 -125
  196. package/components/table/row-with-focus-sensor.js +25 -69
  197. package/components/table/row.js +175 -216
  198. package/components/table/selection-adapter.js +1 -3
  199. package/components/table/selection-shortcuts-hoc.js +180 -181
  200. package/components/table/selection.js +156 -226
  201. package/components/table/smart-table.js +50 -88
  202. package/components/table/table.js +289 -358
  203. package/components/tabs/collapsible-more.js +46 -79
  204. package/components/tabs/collapsible-tab.js +31 -38
  205. package/components/tabs/collapsible-tabs.js +88 -153
  206. package/components/tabs/custom-item.js +4 -2
  207. package/components/tabs/dumb-tabs.js +74 -117
  208. package/components/tabs/smart-tabs.js +29 -69
  209. package/components/tabs/tab-link.js +1 -5
  210. package/components/tabs/tab.js +19 -31
  211. package/components/tabs/tabs.js +0 -31
  212. package/components/tag/tag.js +133 -173
  213. package/components/tags-input/tags-input.js +329 -427
  214. package/components/tags-list/tags-list.js +57 -78
  215. package/components/text/text.js +28 -39
  216. package/components/toggle/toggle.js +56 -70
  217. package/components/tooltip/tooltip.js +146 -190
  218. package/components/user-agreement/service.js +228 -371
  219. package/components/user-agreement/toolbox.eula.js +160 -1
  220. package/components/user-agreement/user-agreement.js +85 -120
  221. package/components/user-card/card.js +0 -29
  222. package/components/user-card/smart-user-card-tooltip.js +51 -111
  223. package/components/user-card/tooltip.js +47 -84
  224. package/components/user-card/user-card.js +0 -29
  225. package/package.json +1 -1
@@ -1,19 +1,16 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import { getTranslations, translate, setTranslations } from './i18n.js';
3
- import '../_helpers/_rollupPluginBabelHelpers.js';
4
- import 'core-js/modules/es.array.iterator.js';
5
- import 'core-js/modules/es.object.to-string.js';
6
- import 'core-js/modules/es.set.js';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
3
 
9
- var I18nContext = /*#__PURE__*/React.createContext({
4
+ const I18nContext = /*#__PURE__*/React.createContext({
10
5
  messages: getTranslations(),
11
6
  translate
12
7
  });
13
- var I18nContextHolder = function I18nContextHolder(_ref) {
14
- var children = _ref.children,
15
- messages = _ref.messages;
16
- useEffect(function () {
8
+ const I18nContextHolder = _ref => {
9
+ let {
10
+ children,
11
+ messages
12
+ } = _ref;
13
+ useEffect(() => {
17
14
  setTranslations(messages);
18
15
  }, [messages]);
19
16
  return /*#__PURE__*/React.createElement(I18nContext.Provider, {
@@ -1,9 +1,3 @@
1
- import { d as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.iterator.js';
3
- import 'core-js/modules/es.object.to-string.js';
4
- import 'core-js/modules/es.set.js';
5
- import 'core-js/modules/web.dom-collections.iterator.js';
6
-
7
1
  var login = "Log in";
8
2
  var logout = "Log out";
9
3
  var loginTo = "Log in to {{serviceName}}";
@@ -109,15 +103,15 @@ var defaultMessages = {
109
103
  unverified: unverified
110
104
  };
111
105
 
112
- var messages = defaultMessages;
113
- var warned = new Set();
106
+ let messages = defaultMessages;
107
+ const warned = new Set();
114
108
  function warnMissedKeyOnce(key) {
115
109
  if (warned.has(key)) {
116
110
  return;
117
111
  }
118
112
  warned.add(key);
119
113
  // eslint-disable-next-line no-console
120
- console.warn("Missing localisation for key \"".concat(key, "\""));
114
+ console.warn(`Missing localisation for key "${key}"`);
121
115
  }
122
116
  function setTranslations(newMessages) {
123
117
  messages = newMessages;
@@ -126,7 +120,10 @@ function getTranslations() {
126
120
  return messages;
127
121
  }
128
122
  function getTranslationsWithFallback() {
129
- return _objectSpread2(_objectSpread2({}, defaultMessages), messages);
123
+ return {
124
+ ...defaultMessages,
125
+ ...messages
126
+ };
130
127
  }
131
128
  function translate(key) {
132
129
  var _messages$key;
@@ -1,107 +1,90 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
  import deprecate from 'util-deprecate';
6
6
  import { Color, Size } from './icon__constants.js';
7
7
  import { m as modules_29747b80, I as IconSVG } from '../_helpers/icon__svg.js';
8
- import 'core-js/modules/es.regexp.exec.js';
9
- import 'core-js/modules/es.string.replace.js';
10
- import 'core-js/modules/es.string.starts-with.js';
11
8
  import '../global/memoize.js';
12
- import 'core-js/modules/es.array.iterator.js';
13
- import 'core-js/modules/es.map.js';
14
- import 'core-js/modules/es.object.to-string.js';
15
- import 'core-js/modules/es.weak-map.js';
16
- import 'core-js/modules/web.dom-collections.iterator.js';
17
9
 
18
- var _excluded = ["className", "size", "color", "loading", "glyph", "width", "height", "suppressSizeWarning"];
19
- var _warnSize = deprecate(function () {}, "`size`, `width` and `height` props are not recommended to use in Ring UI `Icon` component. The intrinsic sizes of SVG icon (`width` and `height` SVG attributes) are used instead.\n\nWe strongly recommend to use icons handcrafted for particular sizes. If your icon doesn't exist in the desired size, please ask your designer to draw one. \"Responsive\" checkmark should be unchecked when exporting icon.'");
20
- var Icon = /*#__PURE__*/function (_PureComponent) {
21
- function Icon() {
22
- _classCallCheck(this, Icon);
23
- return _callSuper(this, Icon, arguments);
10
+ const warnSize = deprecate(() => {}, `\`size\`, \`width\` and \`height\` props are not recommended to use in Ring UI \`Icon\` component. The intrinsic sizes of SVG icon (\`width\` and \`height\` SVG attributes) are used instead.
11
+
12
+ We strongly recommend to use icons handcrafted for particular sizes. If your icon doesn't exist in the desired size, please ask your designer to draw one. "Responsive" checkmark should be unchecked when exporting icon.'`);
13
+ class Icon extends PureComponent {
14
+ static propTypes = {
15
+ className: PropTypes.string,
16
+ color: PropTypes.string,
17
+ glyph: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]).isRequired,
18
+ height: PropTypes.number,
19
+ size: PropTypes.number,
20
+ width: PropTypes.number,
21
+ loading: PropTypes.bool,
22
+ suppressSizeWarning: PropTypes.bool
23
+ };
24
+ static defaultProps = {
25
+ className: '',
26
+ color: Color.DEFAULT,
27
+ glyph: ''
28
+ };
29
+ static Color = Color;
30
+ static Size = Size;
31
+ warnSize() {
32
+ if (this.props.suppressSizeWarning) {
33
+ return;
34
+ }
35
+ warnSize();
24
36
  }
25
- _inherits(Icon, _PureComponent);
26
- return _createClass(Icon, [{
27
- key: "warnSize",
28
- value: function warnSize() {
29
- if (this.props.suppressSizeWarning) {
30
- return;
31
- }
32
- _warnSize();
37
+ getStyle() {
38
+ const {
39
+ size,
40
+ width,
41
+ height
42
+ } = this.props;
43
+ if (width || height) {
44
+ this.warnSize();
45
+ return {
46
+ width,
47
+ height
48
+ };
33
49
  }
34
- }, {
35
- key: "getStyle",
36
- value: function getStyle() {
37
- var _this$props = this.props,
38
- size = _this$props.size,
39
- width = _this$props.width,
40
- height = _this$props.height;
41
- if (width || height) {
42
- this.warnSize();
43
- return {
44
- width,
45
- height
46
- };
47
- }
48
- if (size) {
49
- this.warnSize();
50
- return {
51
- width: size,
52
- height: size
53
- };
54
- }
55
- return undefined;
50
+ if (size) {
51
+ this.warnSize();
52
+ return {
53
+ width: size,
54
+ height: size
55
+ };
56
56
  }
57
- }, {
58
- key: "render",
59
- value: function render() {
60
- var _this$props2 = this.props,
61
- className = _this$props2.className;
62
- _this$props2.size;
63
- var color = _this$props2.color,
64
- loading = _this$props2.loading,
65
- Glyph = _this$props2.glyph;
66
- _this$props2.width;
67
- _this$props2.height;
68
- _this$props2.suppressSizeWarning;
69
- var restProps = _objectWithoutProperties(_this$props2, _excluded);
70
- if (!Glyph) {
71
- return null;
72
- }
73
- var classes = classNames(modules_29747b80.icon, {
74
- [modules_29747b80[color]]: !!color,
75
- [modules_29747b80.loading]: loading
76
- }, className);
77
- return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
78
- className: classes
79
- }), typeof Glyph === 'string' ? /*#__PURE__*/React.createElement(IconSVG, {
80
- src: Glyph,
81
- style: this.getStyle()
82
- }) : /*#__PURE__*/React.createElement(Glyph, {
83
- className: modules_29747b80.glyph,
84
- style: this.getStyle()
85
- }));
57
+ return undefined;
58
+ }
59
+ render() {
60
+ const {
61
+ className,
62
+ size,
63
+ color,
64
+ loading,
65
+ glyph: Glyph,
66
+ width,
67
+ height,
68
+ suppressSizeWarning,
69
+ ...restProps
70
+ } = this.props;
71
+ if (!Glyph) {
72
+ return null;
86
73
  }
87
- }]);
88
- }(PureComponent);
89
- _defineProperty(Icon, "propTypes", {
90
- className: PropTypes.string,
91
- color: PropTypes.string,
92
- glyph: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]).isRequired,
93
- height: PropTypes.number,
94
- size: PropTypes.number,
95
- width: PropTypes.number,
96
- loading: PropTypes.bool,
97
- suppressSizeWarning: PropTypes.bool
98
- });
99
- _defineProperty(Icon, "defaultProps", {
100
- className: '',
101
- color: Color.DEFAULT,
102
- glyph: ''
103
- });
104
- _defineProperty(Icon, "Color", Color);
105
- _defineProperty(Icon, "Size", Size);
74
+ const classes = classNames(modules_29747b80.icon, {
75
+ [modules_29747b80[color]]: !!color,
76
+ [modules_29747b80.loading]: loading
77
+ }, className);
78
+ return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
79
+ className: classes
80
+ }), typeof Glyph === 'string' ? /*#__PURE__*/React.createElement(IconSVG, {
81
+ src: Glyph,
82
+ style: this.getStyle()
83
+ }) : /*#__PURE__*/React.createElement(Glyph, {
84
+ className: modules_29747b80.glyph,
85
+ style: this.getStyle()
86
+ }));
87
+ }
88
+ }
106
89
 
107
90
  export { Color, Size, Icon as default };
@@ -1,14 +1,6 @@
1
1
  import '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.regexp.exec.js';
3
- import 'core-js/modules/es.string.replace.js';
4
- import 'core-js/modules/es.string.starts-with.js';
5
2
  import 'react';
6
3
  import 'classnames';
7
4
  import 'prop-types';
8
5
  import '../global/memoize.js';
9
6
  export { I as default } from '../_helpers/icon__svg.js';
10
- import 'core-js/modules/es.array.iterator.js';
11
- import 'core-js/modules/es.map.js';
12
- import 'core-js/modules/es.object.to-string.js';
13
- import 'core-js/modules/es.weak-map.js';
14
- import 'core-js/modules/web.dom-collections.iterator.js';
@@ -6,12 +6,4 @@ import 'prop-types';
6
6
  import 'classnames';
7
7
  import 'util-deprecate';
8
8
  import '../_helpers/icon__svg.js';
9
- import 'core-js/modules/es.regexp.exec.js';
10
- import 'core-js/modules/es.string.replace.js';
11
- import 'core-js/modules/es.string.starts-with.js';
12
9
  import '../global/memoize.js';
13
- import 'core-js/modules/es.array.iterator.js';
14
- import 'core-js/modules/es.map.js';
15
- import 'core-js/modules/es.object.to-string.js';
16
- import 'core-js/modules/es.weak-map.js';
17
- import 'core-js/modules/web.dom-collections.iterator.js';
@@ -1,6 +1,4 @@
1
1
  import '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.object.values.js';
4
2
  import 'react';
5
3
  import 'prop-types';
6
4
  import 'classnames';
@@ -20,16 +18,5 @@ import '../_helpers/button__classes.js';
20
18
  import '../icon/icon__constants.js';
21
19
  import 'util-deprecate';
22
20
  import '../_helpers/icon__svg.js';
23
- import 'core-js/modules/es.regexp.exec.js';
24
- import 'core-js/modules/es.string.replace.js';
25
- import 'core-js/modules/es.string.starts-with.js';
26
21
  import '../global/memoize.js';
27
- import 'core-js/modules/es.array.iterator.js';
28
- import 'core-js/modules/es.map.js';
29
- import 'core-js/modules/es.object.to-string.js';
30
- import 'core-js/modules/es.weak-map.js';
31
- import 'core-js/modules/web.dom-collections.iterator.js';
32
- import 'core-js/modules/es.regexp.to-string.js';
33
22
  import '../i18n/i18n.js';
34
- import 'core-js/modules/es.set.js';
35
- import 'core-js/modules/web.dom-collections.for-each.js';
@@ -1,51 +1,38 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import React, { createContext, Component } from 'react';
1
+ import React, { Component, createContext } from 'react';
4
2
  import { interpolateLinear } from '../global/linear-function.js';
5
3
 
6
- var TITLE_RESIZE_END = 20;
7
- var TITLE_RESIZE_THRESHOLD = 36;
8
- var PhaseContext = /*#__PURE__*/createContext(null);
9
- var ScrollHandlerContext = /*#__PURE__*/createContext(null);
4
+ const TITLE_RESIZE_END = 20;
5
+ const TITLE_RESIZE_THRESHOLD = 36;
6
+ const PhaseContext = /*#__PURE__*/createContext(null);
7
+ const ScrollHandlerContext = /*#__PURE__*/createContext(null);
10
8
  function adaptiveIslandHOC(ComposedComponent) {
11
- var _AdaptiveIsland;
12
- return _AdaptiveIsland = /*#__PURE__*/function (_Component) {
13
- function AdaptiveIsland() {
14
- var _this;
15
- _classCallCheck(this, AdaptiveIsland);
16
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17
- args[_key] = arguments[_key];
9
+ return class AdaptiveIsland extends Component {
10
+ static propTypes = ComposedComponent.propTypes;
11
+ state = {
12
+ phase: null
13
+ };
14
+ onContentScroll = _ref => {
15
+ var _this$state$phase;
16
+ let {
17
+ scrollTop,
18
+ scrollHeight,
19
+ clientHeight
20
+ } = _ref;
21
+ if (scrollHeight - clientHeight >= interpolateLinear(TITLE_RESIZE_THRESHOLD, TITLE_RESIZE_END, (_this$state$phase = this.state.phase) !== null && _this$state$phase !== void 0 ? _this$state$phase : 0)) {
22
+ const phase = Math.min(1, scrollTop / TITLE_RESIZE_END);
23
+ this.setState({
24
+ phase
25
+ });
18
26
  }
19
- _this = _callSuper(this, AdaptiveIsland, [].concat(args));
20
- _defineProperty(_this, "state", {
21
- phase: null
22
- });
23
- _defineProperty(_this, "onContentScroll", function (_ref) {
24
- var _this$state$phase;
25
- var scrollTop = _ref.scrollTop,
26
- scrollHeight = _ref.scrollHeight,
27
- clientHeight = _ref.clientHeight;
28
- if (scrollHeight - clientHeight >= interpolateLinear(TITLE_RESIZE_THRESHOLD, TITLE_RESIZE_END, (_this$state$phase = _this.state.phase) !== null && _this$state$phase !== void 0 ? _this$state$phase : 0)) {
29
- var phase = Math.min(1, scrollTop / TITLE_RESIZE_END);
30
- _this.setState({
31
- phase
32
- });
33
- }
34
- });
35
- return _this;
27
+ };
28
+ render() {
29
+ return /*#__PURE__*/React.createElement(PhaseContext.Provider, {
30
+ value: this.state.phase
31
+ }, /*#__PURE__*/React.createElement(ScrollHandlerContext.Provider, {
32
+ value: this.onContentScroll
33
+ }, /*#__PURE__*/React.createElement(ComposedComponent, this.props)));
36
34
  }
37
- _inherits(AdaptiveIsland, _Component);
38
- return _createClass(AdaptiveIsland, [{
39
- key: "render",
40
- value: function render() {
41
- return /*#__PURE__*/React.createElement(PhaseContext.Provider, {
42
- value: this.state.phase
43
- }, /*#__PURE__*/React.createElement(ScrollHandlerContext.Provider, {
44
- value: this.onContentScroll
45
- }, /*#__PURE__*/React.createElement(ComposedComponent, this.props)));
46
- }
47
- }]);
48
- }(Component), _defineProperty(_AdaptiveIsland, "propTypes", ComposedComponent.propTypes), _AdaptiveIsland;
35
+ };
49
36
  }
50
37
 
51
38
  export { PhaseContext, ScrollHandlerContext, adaptiveIslandHOC as default };
@@ -1,5 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } 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, forwardRef } from 'react';
4
3
  import PropTypes from 'prop-types';
5
4
  import classNames from 'classnames';
@@ -9,141 +8,125 @@ import { m as modules_e6a056e1 } from '../_helpers/island.js';
9
8
  import { ScrollHandlerContext } from './adaptive-island-hoc.js';
10
9
  import '../global/linear-function.js';
11
10
 
12
- var _excluded = ["children", "className", "bottomBorder", "scrollableWrapperClassName", "onScroll", "onScrollToBottom", "fade"];
13
- var scheduleScrollAction = scheduleRAF();
14
- var noop = function noop() {};
15
- var END_DISTANCE = 16;
16
- var Content = /*#__PURE__*/function (_Component) {
17
- function Content() {
18
- var _this;
19
- _classCallCheck(this, Content);
20
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
- args[_key] = arguments[_key];
11
+ const scheduleScrollAction = scheduleRAF();
12
+ const noop = () => {};
13
+ const END_DISTANCE = 16;
14
+ class Content extends Component {
15
+ static propTypes = {
16
+ children: PropTypes.node,
17
+ className: PropTypes.string,
18
+ scrollableWrapperClassName: PropTypes.string,
19
+ fade: PropTypes.bool,
20
+ bottomBorder: PropTypes.bool,
21
+ onScroll: PropTypes.func,
22
+ onScrollToBottom: PropTypes.func
23
+ };
24
+ static defaultProps = {
25
+ fade: true,
26
+ bottomBorder: false,
27
+ onScroll: noop,
28
+ onScrollToBottom: noop
29
+ };
30
+ state = {
31
+ scrolledToTop: true,
32
+ scrolledToBottom: false
33
+ };
34
+ componentWillUnmount() {
35
+ this.scrollableNode = null;
36
+ if (!this.wrapperNode) {
37
+ return;
22
38
  }
23
- _this = _callSuper(this, Content, [].concat(args));
24
- _defineProperty(_this, "state", {
25
- scrolledToTop: true,
26
- scrolledToBottom: false
27
- });
28
- _defineProperty(_this, "resizeDetector", createResizeDetector({
29
- strategy: 'scroll'
30
- }));
31
- _defineProperty(_this, "wrapperNode", void 0);
32
- _defineProperty(_this, "setWrapper", function (node) {
33
- if (!node) {
34
- return;
35
- }
36
- _this.wrapperNode = node;
37
- _this.resizeDetector.listenTo(node, _this.calculateScrollPosition);
38
- });
39
- _defineProperty(_this, "calculateScrollPosition", function () {
40
- return scheduleScrollAction(function () {
41
- var _this2 = _this,
42
- scrollableNode = _this2.scrollableNode;
43
- if (!scrollableNode) {
44
- return;
45
- }
46
- _this.props.onScroll(scrollableNode);
47
- var scrollTop = scrollableNode.scrollTop,
48
- scrollHeight = scrollableNode.scrollHeight,
49
- offsetHeight = scrollableNode.offsetHeight;
50
- var scrolledToTop = scrollTop === 0;
51
- var scrolledToBottom = offsetHeight + scrollTop >= scrollHeight - END_DISTANCE;
52
- if (scrolledToBottom) {
53
- var _this$props$onScrollT, _this$props;
54
- (_this$props$onScrollT = (_this$props = _this.props).onScrollToBottom) === null || _this$props$onScrollT === void 0 || _this$props$onScrollT.call(_this$props);
55
- }
56
- _this.setState({
57
- scrolledToTop,
58
- scrolledToBottom
59
- });
60
- });
61
- });
62
- _defineProperty(_this, "scrollableNode", void 0);
63
- _defineProperty(_this, "setScrollableNodeAndCalculatePosition", function (node) {
64
- if (!node) {
65
- return;
66
- }
67
- _this.scrollableNode = node;
68
- _this.calculateScrollPosition();
69
- });
70
- return _this;
39
+ this.resizeDetector.removeAllListeners(this.wrapperNode);
71
40
  }
72
- _inherits(Content, _Component);
73
- return _createClass(Content, [{
74
- key: "componentWillUnmount",
75
- value: function componentWillUnmount() {
76
- this.scrollableNode = null;
77
- if (!this.wrapperNode) {
78
- return;
79
- }
80
- this.resizeDetector.removeAllListeners(this.wrapperNode);
41
+ resizeDetector = createResizeDetector({
42
+ strategy: 'scroll'
43
+ });
44
+ wrapperNode;
45
+ setWrapper = node => {
46
+ if (!node) {
47
+ return;
81
48
  }
82
- }, {
83
- key: "render",
84
- value: function render() {
85
- var _this$props2 = this.props,
86
- children = _this$props2.children,
87
- className = _this$props2.className,
88
- bottomBorder = _this$props2.bottomBorder,
89
- scrollableWrapperClassName = _this$props2.scrollableWrapperClassName;
90
- _this$props2.onScroll;
91
- _this$props2.onScrollToBottom;
92
- var fade = _this$props2.fade,
93
- restProps = _objectWithoutProperties(_this$props2, _excluded);
94
- var _this$state = this.state,
95
- scrolledToTop = _this$state.scrolledToTop,
96
- scrolledToBottom = _this$state.scrolledToBottom;
97
- var classes = classNames(modules_e6a056e1.content, className, {
98
- [modules_e6a056e1.contentWithTopFade]: fade && !scrolledToTop,
99
- [modules_e6a056e1.contentWithBottomFade]: fade && !scrolledToBottom,
100
- [modules_e6a056e1.withTransparentBottomBorder]: bottomBorder,
101
- [modules_e6a056e1.withBottomBorder]: bottomBorder && !scrolledToBottom
102
- });
103
- var scrollableWrapperClasses = classNames(modules_e6a056e1.scrollableWrapper, scrollableWrapperClassName);
104
- return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
105
- "data-test": "ring-island-content",
106
- className: classes
107
- }), /*#__PURE__*/React.createElement("div", {
108
- // it has to be focusable because it can be scrollable
109
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
110
- tabIndex: 0,
111
- "data-scrollable-container": true,
112
- className: scrollableWrapperClasses,
113
- ref: this.setScrollableNodeAndCalculatePosition,
114
- onScroll: fade ? this.calculateScrollPosition : noop
115
- }, fade && /*#__PURE__*/React.createElement("div", {
116
- ref: this.setWrapper
117
- }, children), !fade && children));
49
+ this.wrapperNode = node;
50
+ this.resizeDetector.listenTo(node, this.calculateScrollPosition);
51
+ };
52
+ calculateScrollPosition = () => scheduleScrollAction(() => {
53
+ const {
54
+ scrollableNode
55
+ } = this;
56
+ if (!scrollableNode) {
57
+ return;
118
58
  }
119
- }]);
120
- }(Component);
121
- _defineProperty(Content, "propTypes", {
122
- children: PropTypes.node,
123
- className: PropTypes.string,
124
- scrollableWrapperClassName: PropTypes.string,
125
- fade: PropTypes.bool,
126
- bottomBorder: PropTypes.bool,
127
- onScroll: PropTypes.func,
128
- onScrollToBottom: PropTypes.func
129
- });
130
- _defineProperty(Content, "defaultProps", {
131
- fade: true,
132
- bottomBorder: false,
133
- onScroll: noop,
134
- onScrollToBottom: noop
135
- });
136
- var ContentWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
137
- return /*#__PURE__*/React.createElement(ScrollHandlerContext.Consumer, null, function (onScroll) {
138
- var addProps = onScroll != null ? {
139
- onScroll,
140
- bottomBorder: true
141
- } : {};
142
- return /*#__PURE__*/React.createElement(Content, _extends({}, props, addProps, {
143
- ref: ref
144
- }));
59
+ this.props.onScroll(scrollableNode);
60
+ const {
61
+ scrollTop,
62
+ scrollHeight,
63
+ offsetHeight
64
+ } = scrollableNode;
65
+ const scrolledToTop = scrollTop === 0;
66
+ const scrolledToBottom = offsetHeight + scrollTop >= scrollHeight - END_DISTANCE;
67
+ if (scrolledToBottom) {
68
+ this.props.onScrollToBottom?.();
69
+ }
70
+ this.setState({
71
+ scrolledToTop,
72
+ scrolledToBottom
73
+ });
145
74
  });
146
- });
75
+ scrollableNode;
76
+ setScrollableNodeAndCalculatePosition = node => {
77
+ if (!node) {
78
+ return;
79
+ }
80
+ this.scrollableNode = node;
81
+ this.calculateScrollPosition();
82
+ };
83
+ render() {
84
+ const {
85
+ children,
86
+ className,
87
+ bottomBorder,
88
+ scrollableWrapperClassName,
89
+ onScroll,
90
+ onScrollToBottom,
91
+ fade,
92
+ ...restProps
93
+ } = this.props;
94
+ const {
95
+ scrolledToTop,
96
+ scrolledToBottom
97
+ } = this.state;
98
+ const classes = classNames(modules_e6a056e1.content, className, {
99
+ [modules_e6a056e1.contentWithTopFade]: fade && !scrolledToTop,
100
+ [modules_e6a056e1.contentWithBottomFade]: fade && !scrolledToBottom,
101
+ [modules_e6a056e1.withTransparentBottomBorder]: bottomBorder,
102
+ [modules_e6a056e1.withBottomBorder]: bottomBorder && !scrolledToBottom
103
+ });
104
+ const scrollableWrapperClasses = classNames(modules_e6a056e1.scrollableWrapper, scrollableWrapperClassName);
105
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
106
+ "data-test": "ring-island-content",
107
+ className: classes
108
+ }), /*#__PURE__*/React.createElement("div", {
109
+ // it has to be focusable because it can be scrollable
110
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
111
+ tabIndex: 0,
112
+ "data-scrollable-container": true,
113
+ className: scrollableWrapperClasses,
114
+ ref: this.setScrollableNodeAndCalculatePosition,
115
+ onScroll: fade ? this.calculateScrollPosition : noop
116
+ }, fade && /*#__PURE__*/React.createElement("div", {
117
+ ref: this.setWrapper
118
+ }, children), !fade && children));
119
+ }
120
+ }
121
+ const ContentWrapper = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollHandlerContext.Consumer, null, onScroll => {
122
+ const addProps = onScroll != null ? {
123
+ onScroll,
124
+ bottomBorder: true
125
+ } : {};
126
+ return /*#__PURE__*/React.createElement(Content, _extends({}, props, addProps, {
127
+ ref: ref
128
+ }));
129
+ }));
147
130
  ContentWrapper.displayName = 'ContentWrapper';
148
131
 
149
132
  export { ContentWrapper as default };