@jetbrains/ring-ui 5.0.156 → 5.0.158

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 (304) hide show
  1. package/components/control-label/control-label.css +1 -1
  2. package/components/control-label/control-label.d.ts +1 -1
  3. package/components/control-label/control-label.js +2 -2
  4. package/components/select/select__popup.d.ts +36 -0
  5. package/components/select/select__popup.js +7 -1
  6. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  7. package/dist/_helpers/anchor.js +6 -7
  8. package/dist/_helpers/button__classes.js +16 -28
  9. package/dist/_helpers/card.js +107 -95
  10. package/dist/_helpers/control-label.js +1 -1
  11. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  12. package/dist/_helpers/footer.js +29 -34
  13. package/dist/_helpers/query-assist__suggestions.js +91 -74
  14. package/dist/_helpers/select__filter.js +71 -48
  15. package/dist/_helpers/services-link.js +41 -29
  16. package/dist/_helpers/sidebar.js +103 -99
  17. package/dist/_helpers/theme.js +42 -35
  18. package/dist/_helpers/title.js +71 -57
  19. package/dist/alert/alert.js +199 -158
  20. package/dist/alert/container.js +43 -32
  21. package/dist/alert-service/alert-service.js +172 -104
  22. package/dist/analytics/analytics.js +92 -68
  23. package/dist/analytics/analytics__custom-plugin.js +84 -60
  24. package/dist/analytics/analytics__fus-plugin.js +28 -15
  25. package/dist/analytics/analytics__ga-plugin.js +60 -43
  26. package/dist/analytics/analytics__plugin-utils.js +28 -22
  27. package/dist/auth/auth.js +36 -4
  28. package/dist/auth/auth__core.js +1458 -732
  29. package/dist/auth/background-flow.js +129 -87
  30. package/dist/auth/down-notification.js +75 -30
  31. package/dist/auth/iframe-flow.js +136 -75
  32. package/dist/auth/landing.js +90 -30
  33. package/dist/auth/request-builder.js +82 -46
  34. package/dist/auth/response-parser.js +119 -86
  35. package/dist/auth/storage.js +333 -171
  36. package/dist/auth/token-validator.js +244 -137
  37. package/dist/auth/window-flow.js +136 -92
  38. package/dist/auth-dialog/auth-dialog.js +176 -114
  39. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  40. package/dist/auth-ng/auth-ng.js +70 -34
  41. package/dist/auth-ng/auth-ng.mock.js +6 -6
  42. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  43. package/dist/avatar/avatar-example-datauri.js +1 -23
  44. package/dist/avatar/avatar.js +155 -119
  45. package/dist/avatar/fallback-avatar.js +41 -22
  46. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  47. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  48. package/dist/avatar-ng/avatar-ng.js +23 -1
  49. package/dist/badge/badge.js +43 -35
  50. package/dist/badge-ng/badge-ng.js +13 -1
  51. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  52. package/dist/button/button.js +111 -87
  53. package/dist/button/button__classes.js +1 -0
  54. package/dist/button-group/button-group.js +35 -19
  55. package/dist/button-group/caption.js +22 -14
  56. package/dist/button-group-ng/button-group-ng.js +13 -7
  57. package/dist/button-ng/button-ng.js +154 -133
  58. package/dist/button-set/button-set.js +34 -20
  59. package/dist/button-set-ng/button-set-ng.js +2 -2
  60. package/dist/button-toolbar/button-toolbar.js +33 -19
  61. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  62. package/dist/caret/caret.js +225 -188
  63. package/dist/checkbox/checkbox.js +104 -76
  64. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  65. package/dist/clipboard/clipboard-fallback.js +10 -10
  66. package/dist/clipboard/clipboard.js +131 -34
  67. package/dist/code/code.js +168 -92
  68. package/dist/compiler-ng/compiler-ng.js +18 -15
  69. package/dist/confirm/confirm.js +108 -66
  70. package/dist/confirm-ng/confirm-ng.js +33 -4
  71. package/dist/confirm-service/confirm-service.js +66 -42
  72. package/dist/content-layout/content-layout.js +64 -43
  73. package/dist/content-layout/sidebar.js +1 -0
  74. package/dist/contenteditable/contenteditable.js +61 -50
  75. package/dist/control-label/control-label.d.ts +1 -1
  76. package/dist/control-label/control-label.js +12 -16
  77. package/dist/data-list/data-list.js +184 -128
  78. package/dist/data-list/data-list.mock.js +11 -2
  79. package/dist/data-list/item.js +174 -143
  80. package/dist/data-list/selection.js +139 -76
  81. package/dist/data-list/title.js +13 -1
  82. package/dist/data-list-ng/data-list-ng.js +31 -1
  83. package/dist/date-picker/consts.js +18 -15
  84. package/dist/date-picker/date-input.js +147 -115
  85. package/dist/date-picker/date-picker.js +285 -228
  86. package/dist/date-picker/date-popup.js +397 -356
  87. package/dist/date-picker/day.js +98 -84
  88. package/dist/date-picker/month-names.js +64 -43
  89. package/dist/date-picker/month-slider.js +74 -51
  90. package/dist/date-picker/month.js +21 -15
  91. package/dist/date-picker/months.js +48 -43
  92. package/dist/date-picker/weekdays.js +18 -12
  93. package/dist/date-picker/years.js +109 -84
  94. package/dist/dialog/dialog.js +189 -141
  95. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  96. package/dist/dialog-ng/dialog-ng.js +401 -287
  97. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  98. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  99. package/dist/dropdown/anchor.js +10 -0
  100. package/dist/dropdown/dropdown.js +214 -182
  101. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  102. package/dist/editable-heading/editable-heading.js +100 -58
  103. package/dist/error-bubble/error-bubble.js +64 -31
  104. package/dist/error-message/error-message.js +61 -38
  105. package/dist/error-message-ng/error-message-ng.js +11 -22
  106. package/dist/footer/footer.js +11 -1
  107. package/dist/footer-ng/footer-ng.js +64 -36
  108. package/dist/form-ng/form-ng.js +66 -56
  109. package/dist/global/angular-component-factory.js +76 -53
  110. package/dist/global/compose.js +10 -1
  111. package/dist/global/composeRefs.js +12 -7
  112. package/dist/global/controls-height.js +2 -2
  113. package/dist/global/create-stateful-context.js +19 -19
  114. package/dist/global/data-tests.js +15 -7
  115. package/dist/global/dom.js +95 -53
  116. package/dist/global/focus-sensor-hoc.js +134 -122
  117. package/dist/global/fuzzy-highlight.js +41 -27
  118. package/dist/global/get-event-key.js +8 -8
  119. package/dist/global/get-uid.js +8 -4
  120. package/dist/global/inject-styles.js +15 -10
  121. package/dist/global/linear-function.js +2 -2
  122. package/dist/global/listeners.js +53 -27
  123. package/dist/global/memoize.js +13 -6
  124. package/dist/global/normalize-indent.js +51 -19
  125. package/dist/global/promise-with-timeout.js +8 -6
  126. package/dist/global/prop-types.js +5 -3
  127. package/dist/global/react-dom-renderer.js +47 -28
  128. package/dist/global/react-render-adapter.js +19 -13
  129. package/dist/global/rerender-hoc.js +41 -16
  130. package/dist/global/ring-angular-component.js +20 -10
  131. package/dist/global/schedule-raf.js +6 -5
  132. package/dist/global/sniffer.js +1 -1
  133. package/dist/global/theme.js +24 -0
  134. package/dist/global/trivial-template-tag.js +10 -3
  135. package/dist/global/typescript-utils.js +6 -2
  136. package/dist/global/url.js +27 -21
  137. package/dist/global/use-event-callback.js +4 -6
  138. package/dist/grid/col.js +55 -35
  139. package/dist/grid/grid.js +36 -17
  140. package/dist/grid/row.js +48 -35
  141. package/dist/group/group.js +27 -17
  142. package/dist/group-ng/group-ng.js +2 -2
  143. package/dist/header/header.js +80 -33
  144. package/dist/header/logo.js +39 -20
  145. package/dist/header/profile.js +188 -150
  146. package/dist/header/services-link.js +9 -0
  147. package/dist/header/services.js +118 -73
  148. package/dist/header/smart-profile.js +207 -111
  149. package/dist/header/smart-services.js +115 -62
  150. package/dist/header/tray-icon.js +38 -21
  151. package/dist/header/tray.js +34 -21
  152. package/dist/heading/heading.js +25 -26
  153. package/dist/heading-ng/heading-ng.js +11 -1
  154. package/dist/http/http.js +368 -215
  155. package/dist/http/http.mock.js +104 -49
  156. package/dist/hub-source/hub-source.js +191 -83
  157. package/dist/hub-source/hub-source__user.js +45 -11
  158. package/dist/hub-source/hub-source__users-groups.js +67 -37
  159. package/dist/i18n/i18n-context.js +14 -10
  160. package/dist/i18n/i18n.js +11 -7
  161. package/dist/icon/icon.js +94 -76
  162. package/dist/icon/icon__svg.js +31 -24
  163. package/dist/icon/index.js +9 -0
  164. package/dist/icon-ng/icon-ng.js +27 -15
  165. package/dist/input/input.js +184 -145
  166. package/dist/input-ng/input-ng.js +96 -118
  167. package/dist/island/adaptive-island-hoc.js +45 -30
  168. package/dist/island/content.js +130 -115
  169. package/dist/island/header.js +69 -56
  170. package/dist/island/island.js +40 -28
  171. package/dist/island-legacy/content-legacy.js +27 -17
  172. package/dist/island-legacy/header-legacy.js +29 -19
  173. package/dist/island-legacy/island-legacy.js +27 -17
  174. package/dist/island-ng/island-content-ng.js +17 -26
  175. package/dist/island-ng/island-header-ng.js +9 -12
  176. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  177. package/dist/island-ng/island-ng.js +6 -10
  178. package/dist/link/clickableLink.js +61 -44
  179. package/dist/link/link.js +85 -74
  180. package/dist/link-ng/link-ng.js +3 -5
  181. package/dist/list/consts.js +1 -1
  182. package/dist/list/list.js +696 -602
  183. package/dist/list/list__custom.js +61 -44
  184. package/dist/list/list__hint.js +21 -10
  185. package/dist/list/list__item.js +167 -129
  186. package/dist/list/list__link.js +54 -37
  187. package/dist/list/list__separator.js +24 -14
  188. package/dist/list/list__title.js +32 -22
  189. package/dist/list/list__users-groups-source.js +131 -54
  190. package/dist/loader/loader.js +78 -43
  191. package/dist/loader/loader__core.js +257 -189
  192. package/dist/loader-inline/loader-inline.js +37 -23
  193. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  194. package/dist/loader-ng/loader-ng.js +46 -19
  195. package/dist/loader-screen/loader-screen.js +48 -25
  196. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  197. package/dist/login-dialog/login-dialog.js +162 -111
  198. package/dist/login-dialog/service.js +35 -7
  199. package/dist/markdown/code.js +31 -9
  200. package/dist/markdown/heading.js +3 -5
  201. package/dist/markdown/link.js +13 -6
  202. package/dist/markdown/markdown.js +66 -33
  203. package/dist/message/message.js +157 -125
  204. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  205. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  206. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  207. package/dist/old-browsers-message/white-list.js +16 -9
  208. package/dist/pager/pager.js +275 -210
  209. package/dist/pager-ng/pager-ng.js +36 -1
  210. package/dist/panel/panel.js +27 -17
  211. package/dist/panel-ng/panel-ng.js +14 -1
  212. package/dist/permissions/permissions.js +173 -127
  213. package/dist/permissions/permissions__cache.js +225 -194
  214. package/dist/permissions-ng/permissions-ng.js +86 -35
  215. package/dist/place-under-ng/place-under-ng.js +68 -45
  216. package/dist/popup/popup.consts.js +1 -1
  217. package/dist/popup/popup.js +342 -280
  218. package/dist/popup/popup.target.js +8 -9
  219. package/dist/popup/position.js +153 -153
  220. package/dist/popup-menu/popup-menu.js +86 -44
  221. package/dist/progress-bar/progress-bar.js +97 -80
  222. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  223. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  224. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  225. package/dist/query-assist/query-assist.js +903 -832
  226. package/dist/query-assist/query-assist__suggestions.js +33 -1
  227. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  228. package/dist/radio/radio.js +36 -19
  229. package/dist/radio/radio__item.js +71 -52
  230. package/dist/radio-ng/radio-ng.js +14 -25
  231. package/dist/save-field-ng/save-field-ng.js +86 -52
  232. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  233. package/dist/select/select.js +937 -835
  234. package/dist/select/select__filter.js +33 -0
  235. package/dist/select/select__popup.d.ts +36 -0
  236. package/dist/select/select__popup.js +480 -358
  237. package/dist/select-ng/select-ng.js +125 -74
  238. package/dist/select-ng/select-ng__lazy.js +101 -50
  239. package/dist/select-ng/select-ng__options.js +107 -81
  240. package/dist/shortcuts/core.js +218 -166
  241. package/dist/shortcuts/shortcut-title.js +11 -6
  242. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  243. package/dist/shortcuts/shortcuts.js +77 -50
  244. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  245. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  246. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  247. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  248. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  249. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  250. package/dist/storage/storage.js +35 -4
  251. package/dist/storage/storage__fallback.js +224 -149
  252. package/dist/storage/storage__local.js +156 -90
  253. package/dist/style.css +1 -1
  254. package/dist/tab-trap/tab-trap.js +157 -122
  255. package/dist/table/cell.js +28 -14
  256. package/dist/table/disable-hover-hoc.js +53 -33
  257. package/dist/table/header-cell.js +87 -64
  258. package/dist/table/header.js +126 -98
  259. package/dist/table/multitable.js +127 -107
  260. package/dist/table/row-with-focus-sensor.js +73 -25
  261. package/dist/table/row.js +208 -170
  262. package/dist/table/selection-adapter.js +3 -1
  263. package/dist/table/selection-shortcuts-hoc.js +184 -181
  264. package/dist/table/selection.js +228 -156
  265. package/dist/table/smart-table.js +93 -51
  266. package/dist/table/table.js +348 -281
  267. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  268. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  269. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  270. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  271. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  272. package/dist/table-ng/smart-table-ng.js +31 -1
  273. package/dist/table-ng/table-ng.js +31 -1
  274. package/dist/tabs/collapsible-more.js +87 -50
  275. package/dist/tabs/collapsible-tab.js +45 -38
  276. package/dist/tabs/collapsible-tabs.js +161 -94
  277. package/dist/tabs/custom-item.js +2 -4
  278. package/dist/tabs/dumb-tabs.js +122 -75
  279. package/dist/tabs/smart-tabs.js +75 -29
  280. package/dist/tabs/tab-link.js +29 -19
  281. package/dist/tabs/tab.js +33 -19
  282. package/dist/tabs/tabs.js +35 -0
  283. package/dist/tabs-ng/tabs-ng.js +38 -24
  284. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  285. package/dist/tag/tag.js +170 -133
  286. package/dist/tags-input/tags-input.js +428 -327
  287. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  288. package/dist/tags-list/tags-list.js +80 -56
  289. package/dist/template-ng/template-ng.js +50 -39
  290. package/dist/text/text.js +38 -28
  291. package/dist/title-ng/title-ng.js +28 -23
  292. package/dist/toggle/toggle.js +72 -56
  293. package/dist/toggle-ng/toggle-ng.js +14 -1
  294. package/dist/tooltip/tooltip.js +192 -146
  295. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  296. package/dist/user-agreement/service.js +374 -227
  297. package/dist/user-agreement/toolbox.eula.js +1 -160
  298. package/dist/user-agreement/user-agreement.js +128 -86
  299. package/dist/user-card/card.js +32 -0
  300. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  301. package/dist/user-card/tooltip.js +90 -48
  302. package/dist/user-card/user-card.js +32 -0
  303. package/dist/user-card-ng/user-card-ng.js +34 -2
  304. package/package.json +8 -8
@@ -1,38 +1,53 @@
1
- import React, { Component, createContext } from 'react';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, _ as _createClass } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
3
+ import React, { createContext, Component } from 'react';
2
4
  import { interpolateLinear } from '../global/linear-function.js';
3
5
 
4
- const TITLE_RESIZE_END = 20;
5
- const TITLE_RESIZE_THRESHOLD = 36;
6
- const PhaseContext = /*#__PURE__*/createContext(null);
7
- const ScrollHandlerContext = /*#__PURE__*/createContext(null);
6
+ var TITLE_RESIZE_END = 20;
7
+ var TITLE_RESIZE_THRESHOLD = 36;
8
+ var PhaseContext = /*#__PURE__*/createContext(null);
9
+ var ScrollHandlerContext = /*#__PURE__*/createContext(null);
8
10
  function adaptiveIslandHOC(ComposedComponent) {
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
- });
11
+ var _class;
12
+ return _class = /*#__PURE__*/function (_Component) {
13
+ _inherits(AdaptiveIsland, _Component);
14
+ var _super = _createSuper(AdaptiveIsland);
15
+ function AdaptiveIsland() {
16
+ var _this;
17
+ _classCallCheck(this, AdaptiveIsland);
18
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
+ args[_key] = arguments[_key];
26
20
  }
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)));
21
+ _this = _super.call.apply(_super, [this].concat(args));
22
+ _defineProperty(_assertThisInitialized(_this), "state", {
23
+ phase: null
24
+ });
25
+ _defineProperty(_assertThisInitialized(_this), "onContentScroll", function (_ref) {
26
+ var _this$state$phase;
27
+ var scrollTop = _ref.scrollTop,
28
+ scrollHeight = _ref.scrollHeight,
29
+ clientHeight = _ref.clientHeight;
30
+ 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)) {
31
+ var phase = Math.min(1, scrollTop / TITLE_RESIZE_END);
32
+ _this.setState({
33
+ phase: phase
34
+ });
35
+ }
36
+ });
37
+ return _this;
34
38
  }
35
- };
39
+ _createClass(AdaptiveIsland, [{
40
+ key: "render",
41
+ value: function render() {
42
+ return /*#__PURE__*/React.createElement(PhaseContext.Provider, {
43
+ value: this.state.phase
44
+ }, /*#__PURE__*/React.createElement(ScrollHandlerContext.Provider, {
45
+ value: this.onContentScroll
46
+ }, /*#__PURE__*/React.createElement(ComposedComponent, this.props)));
47
+ }
48
+ }]);
49
+ return AdaptiveIsland;
50
+ }(Component), _defineProperty(_class, "propTypes", ComposedComponent.propTypes), _class;
36
51
  }
37
52
 
38
53
  export { PhaseContext, ScrollHandlerContext, adaptiveIslandHOC as default };
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, _ as _createClass, h as _objectWithoutProperties, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
2
3
  import React, { Component, forwardRef } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import classNames from 'classnames';
@@ -8,125 +9,139 @@ import { m as modules_e6a056e1 } from '../_helpers/island.js';
8
9
  import { ScrollHandlerContext } from './adaptive-island-hoc.js';
9
10
  import '../global/linear-function.js';
10
11
 
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;
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
+ _inherits(Content, _Component);
18
+ var _super = _createSuper(Content);
19
+ function Content() {
20
+ var _this;
21
+ _classCallCheck(this, Content);
22
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
23
+ args[_key] = arguments[_key];
38
24
  }
39
- this.resizeDetector.removeAllListeners(this.wrapperNode);
25
+ _this = _super.call.apply(_super, [this].concat(args));
26
+ _defineProperty(_assertThisInitialized(_this), "state", {
27
+ scrolledToTop: true,
28
+ scrolledToBottom: false
29
+ });
30
+ _defineProperty(_assertThisInitialized(_this), "resizeDetector", createResizeDetector({
31
+ strategy: 'scroll'
32
+ }));
33
+ _defineProperty(_assertThisInitialized(_this), "wrapperNode", void 0);
34
+ _defineProperty(_assertThisInitialized(_this), "setWrapper", function (node) {
35
+ if (!node) {
36
+ return;
37
+ }
38
+ _this.wrapperNode = node;
39
+ _this.resizeDetector.listenTo(node, _this.calculateScrollPosition);
40
+ });
41
+ _defineProperty(_assertThisInitialized(_this), "calculateScrollPosition", function () {
42
+ return scheduleScrollAction(function () {
43
+ var _assertThisInitialize = _assertThisInitialized(_this),
44
+ scrollableNode = _assertThisInitialize.scrollableNode;
45
+ if (!scrollableNode) {
46
+ return;
47
+ }
48
+ _this.props.onScroll(scrollableNode);
49
+ var scrollTop = scrollableNode.scrollTop,
50
+ scrollHeight = scrollableNode.scrollHeight,
51
+ offsetHeight = scrollableNode.offsetHeight;
52
+ var scrolledToTop = scrollTop === 0;
53
+ var scrolledToBottom = offsetHeight + scrollTop >= scrollHeight - END_DISTANCE;
54
+ if (scrolledToBottom) {
55
+ var _this$props$onScrollT, _this$props;
56
+ (_this$props$onScrollT = (_this$props = _this.props).onScrollToBottom) === null || _this$props$onScrollT === void 0 ? void 0 : _this$props$onScrollT.call(_this$props);
57
+ }
58
+ _this.setState({
59
+ scrolledToTop: scrolledToTop,
60
+ scrolledToBottom: scrolledToBottom
61
+ });
62
+ });
63
+ });
64
+ _defineProperty(_assertThisInitialized(_this), "scrollableNode", void 0);
65
+ _defineProperty(_assertThisInitialized(_this), "setScrollableNodeAndCalculatePosition", function (node) {
66
+ if (!node) {
67
+ return;
68
+ }
69
+ _this.scrollableNode = node;
70
+ _this.calculateScrollPosition();
71
+ });
72
+ return _this;
40
73
  }
41
- resizeDetector = createResizeDetector({
42
- strategy: 'scroll'
43
- });
44
- wrapperNode;
45
- setWrapper = node => {
46
- if (!node) {
47
- return;
74
+ _createClass(Content, [{
75
+ key: "componentWillUnmount",
76
+ value: function componentWillUnmount() {
77
+ this.scrollableNode = null;
78
+ if (!this.wrapperNode) {
79
+ return;
80
+ }
81
+ this.resizeDetector.removeAllListeners(this.wrapperNode);
48
82
  }
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;
83
+ }, {
84
+ key: "render",
85
+ value: function render() {
86
+ var _classNames;
87
+ var _this$props2 = this.props,
88
+ children = _this$props2.children,
89
+ className = _this$props2.className,
90
+ bottomBorder = _this$props2.bottomBorder,
91
+ scrollableWrapperClassName = _this$props2.scrollableWrapperClassName;
92
+ _this$props2.onScroll;
93
+ _this$props2.onScrollToBottom;
94
+ var fade = _this$props2.fade,
95
+ restProps = _objectWithoutProperties(_this$props2, _excluded);
96
+ var _this$state = this.state,
97
+ scrolledToTop = _this$state.scrolledToTop,
98
+ scrolledToBottom = _this$state.scrolledToBottom;
99
+ var classes = classNames(modules_e6a056e1.content, className, (_classNames = {}, _defineProperty(_classNames, modules_e6a056e1.contentWithTopFade, fade && !scrolledToTop), _defineProperty(_classNames, modules_e6a056e1.contentWithBottomFade, fade && !scrolledToBottom), _defineProperty(_classNames, modules_e6a056e1.withTransparentBottomBorder, bottomBorder), _defineProperty(_classNames, modules_e6a056e1.withBottomBorder, bottomBorder && !scrolledToBottom), _classNames));
100
+ var scrollableWrapperClasses = classNames(modules_e6a056e1.scrollableWrapper, scrollableWrapperClassName);
101
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
102
+ "data-test": "ring-island-content",
103
+ className: classes
104
+ }), /*#__PURE__*/React.createElement("div", {
105
+ // it has to be focusable because it can be scrollable
106
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
107
+ tabIndex: 0,
108
+ "data-scrollable-container": true,
109
+ className: scrollableWrapperClasses,
110
+ ref: this.setScrollableNodeAndCalculatePosition,
111
+ onScroll: fade ? this.calculateScrollPosition : noop
112
+ }, fade && /*#__PURE__*/React.createElement("div", {
113
+ ref: this.setWrapper
114
+ }, children), !fade && children));
58
115
  }
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
- });
116
+ }]);
117
+ return Content;
118
+ }(Component);
119
+ _defineProperty(Content, "propTypes", {
120
+ children: PropTypes.node,
121
+ className: PropTypes.string,
122
+ scrollableWrapperClassName: PropTypes.string,
123
+ fade: PropTypes.bool,
124
+ bottomBorder: PropTypes.bool,
125
+ onScroll: PropTypes.func,
126
+ onScrollToBottom: PropTypes.func
127
+ });
128
+ _defineProperty(Content, "defaultProps", {
129
+ fade: true,
130
+ bottomBorder: false,
131
+ onScroll: noop,
132
+ onScrollToBottom: noop
133
+ });
134
+ var ContentWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
135
+ return /*#__PURE__*/React.createElement(ScrollHandlerContext.Consumer, null, function (onScroll) {
136
+ var addProps = onScroll != null ? {
137
+ onScroll: onScroll,
138
+ bottomBorder: true
139
+ } : {};
140
+ return /*#__PURE__*/React.createElement(Content, _extends({}, props, addProps, {
141
+ ref: ref
142
+ }));
74
143
  });
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
- }));
144
+ });
130
145
  ContentWrapper.displayName = 'ContentWrapper';
131
146
 
132
147
  export { ContentWrapper as default };
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, _ as _createClass, h as _objectWithoutProperties, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
2
3
  import React, { Component } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import classNames from 'classnames';
@@ -6,7 +7,8 @@ import { interpolateLinear } from '../global/linear-function.js';
6
7
  import { m as modules_e6a056e1 } from '../_helpers/island.js';
7
8
  import { PhaseContext } from './adaptive-island-hoc.js';
8
9
 
9
- const Start = {
10
+ var _excluded = ["children", "className", "wrapWithTitle", "border", "phase"];
11
+ var Start = {
10
12
  FONT_SIZE: 24,
11
13
  LINE_HEIGHT: 28,
12
14
  PADDING_TOP: 24,
@@ -15,7 +17,7 @@ const Start = {
15
17
  Y: 0,
16
18
  SPACING: 0
17
19
  };
18
- const End = {
20
+ var End = {
19
21
  FONT_SIZE: 13,
20
22
  LINE_HEIGHT: 20,
21
23
  PADDING_TOP: 16,
@@ -25,60 +27,71 @@ const End = {
25
27
  Y: 0.1,
26
28
  SPACING: 1.09
27
29
  };
28
- const BORDER_APPEAR_PHASE = 0.5;
29
- class Header extends Component {
30
- static propTypes = {
31
- children: PropTypes.node,
32
- className: PropTypes.string,
33
- border: PropTypes.bool,
34
- wrapWithTitle: PropTypes.bool,
35
- phase: PropTypes.number
36
- };
37
- static defaultProps = {
38
- wrapWithTitle: true
39
- };
40
- style(name) {
41
- var _this$props$phase;
42
- return interpolateLinear(Start[name], End[name], (_this$props$phase = this.props.phase) !== null && _this$props$phase !== void 0 ? _this$props$phase : 0);
30
+ var BORDER_APPEAR_PHASE = 0.5;
31
+ var Header = /*#__PURE__*/function (_Component) {
32
+ _inherits(Header, _Component);
33
+ var _super = _createSuper(Header);
34
+ function Header() {
35
+ _classCallCheck(this, Header);
36
+ return _super.apply(this, arguments);
43
37
  }
44
- render() {
45
- const {
46
- children,
47
- className,
48
- wrapWithTitle,
49
- border,
50
- phase,
51
- ...restProps
52
- } = this.props;
53
- const classes = classNames(modules_e6a056e1.header, className, {
54
- [modules_e6a056e1.withBottomBorder]: border || phase != null && phase >= BORDER_APPEAR_PHASE
55
- });
56
- const headerStyle = phase != null ? {
57
- lineHeight: `${this.style('LINE_HEIGHT')}px`,
58
- paddingTop: this.style('PADDING_TOP'),
59
- paddingBottom: this.style('PADDING_BOTTOM')
60
- } : undefined;
61
- const scaleFont = phase != null && this.style('FONT_SIZE') / Start.FONT_SIZE;
62
- const titleStyle = phase != null && phase < 1 ? {
63
- fontSize: Start.FONT_SIZE,
64
- transform: `translate(${this.style('X')}px, ${this.style('Y')}px) scale(${scaleFont})`,
65
- letterSpacing: this.style('SPACING')
66
- } : undefined;
67
- return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
68
- "data-test": "ring-island-header",
69
- className: classes,
70
- style: headerStyle
71
- }), wrapWithTitle && /*#__PURE__*/React.createElement("h2", {
72
- className: modules_e6a056e1.title,
73
- style: titleStyle
74
- }, children), !wrapWithTitle && children);
75
- }
76
- }
77
- const HeaderWrapper = props => /*#__PURE__*/React.createElement(PhaseContext.Consumer, null, phase => {
78
- const addProps = phase != null ? {
79
- phase
80
- } : {};
81
- return /*#__PURE__*/React.createElement(Header, _extends({}, props, addProps));
38
+ _createClass(Header, [{
39
+ key: "style",
40
+ value: function style(name) {
41
+ var _this$props$phase;
42
+ return interpolateLinear(Start[name], End[name], (_this$props$phase = this.props.phase) !== null && _this$props$phase !== void 0 ? _this$props$phase : 0);
43
+ }
44
+ }, {
45
+ key: "render",
46
+ value: function render() {
47
+ var _this$props = this.props,
48
+ children = _this$props.children,
49
+ className = _this$props.className,
50
+ wrapWithTitle = _this$props.wrapWithTitle,
51
+ border = _this$props.border,
52
+ phase = _this$props.phase,
53
+ restProps = _objectWithoutProperties(_this$props, _excluded);
54
+ var classes = classNames(modules_e6a056e1.header, className, _defineProperty({}, modules_e6a056e1.withBottomBorder, border || phase != null && phase >= BORDER_APPEAR_PHASE));
55
+ var headerStyle = phase != null ? {
56
+ lineHeight: "".concat(this.style('LINE_HEIGHT'), "px"),
57
+ paddingTop: this.style('PADDING_TOP'),
58
+ paddingBottom: this.style('PADDING_BOTTOM')
59
+ } : undefined;
60
+ var scaleFont = phase != null && this.style('FONT_SIZE') / Start.FONT_SIZE;
61
+ var titleStyle = phase != null && phase < 1 ? {
62
+ fontSize: Start.FONT_SIZE,
63
+ transform: "translate(".concat(this.style('X'), "px, ").concat(this.style('Y'), "px) scale(").concat(scaleFont, ")"),
64
+ letterSpacing: this.style('SPACING')
65
+ } : undefined;
66
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
67
+ "data-test": "ring-island-header",
68
+ className: classes,
69
+ style: headerStyle
70
+ }), wrapWithTitle && /*#__PURE__*/React.createElement("h2", {
71
+ className: modules_e6a056e1.title,
72
+ style: titleStyle
73
+ }, children), !wrapWithTitle && children);
74
+ }
75
+ }]);
76
+ return Header;
77
+ }(Component);
78
+ _defineProperty(Header, "propTypes", {
79
+ children: PropTypes.node,
80
+ className: PropTypes.string,
81
+ border: PropTypes.bool,
82
+ wrapWithTitle: PropTypes.bool,
83
+ phase: PropTypes.number
84
+ });
85
+ _defineProperty(Header, "defaultProps", {
86
+ wrapWithTitle: true
82
87
  });
88
+ var HeaderWrapper = function HeaderWrapper(props) {
89
+ return /*#__PURE__*/React.createElement(PhaseContext.Consumer, null, function (phase) {
90
+ var addProps = phase != null ? {
91
+ phase: phase
92
+ } : {};
93
+ return /*#__PURE__*/React.createElement(Header, _extends({}, props, addProps));
94
+ });
95
+ };
83
96
 
84
97
  export { HeaderWrapper as default };
@@ -1,4 +1,4 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, _ as _createClass, h as _objectWithoutProperties, i as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -7,40 +7,52 @@ import adaptiveIslandHOC from './adaptive-island-hoc.js';
7
7
  import { m as modules_e6a056e1 } from '../_helpers/island.js';
8
8
  export { default as Header } from './header.js';
9
9
  export { default as Content } from './content.js';
10
+ import 'core-js/modules/es.array.reduce.js';
11
+ import 'core-js/modules/es.object.to-string.js';
12
+ import 'core-js/modules/es.object.entries.js';
13
+ import 'core-js/modules/es.array.concat.js';
10
14
  import '../global/linear-function.js';
11
15
  import 'element-resize-detector';
12
16
  import '../global/schedule-raf.js';
13
17
 
18
+ var _excluded = ["children", "className", "narrow", "withoutPaddings", "data-test"];
14
19
  /**
15
20
  * @name Island
16
21
  */
17
- class Island extends Component {
18
- static propTypes = {
19
- children: PropTypes.node,
20
- className: PropTypes.string,
21
- narrow: PropTypes.bool,
22
- withoutPaddings: PropTypes.bool,
23
- 'data-test': PropTypes.string
24
- };
25
- render() {
26
- const {
27
- children,
28
- className,
29
- narrow,
30
- withoutPaddings,
31
- 'data-test': dataTest,
32
- ...restProps
33
- } = this.props;
34
- const classes = classNames(modules_e6a056e1.island, className, {
35
- [modules_e6a056e1.narrowIsland]: narrow,
36
- [modules_e6a056e1.withoutPaddings]: withoutPaddings
37
- });
38
- return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
39
- className: classes,
40
- "data-test": joinDataTestAttributes('ring-island', dataTest)
41
- }), children);
22
+ var Island = /*#__PURE__*/function (_Component) {
23
+ _inherits(Island, _Component);
24
+ var _super = _createSuper(Island);
25
+ function Island() {
26
+ _classCallCheck(this, Island);
27
+ return _super.apply(this, arguments);
42
28
  }
43
- }
44
- const AdaptiveIsland = adaptiveIslandHOC(Island);
29
+ _createClass(Island, [{
30
+ key: "render",
31
+ value: function render() {
32
+ var _classNames;
33
+ var _this$props = this.props,
34
+ children = _this$props.children,
35
+ className = _this$props.className,
36
+ narrow = _this$props.narrow,
37
+ withoutPaddings = _this$props.withoutPaddings,
38
+ dataTest = _this$props['data-test'],
39
+ restProps = _objectWithoutProperties(_this$props, _excluded);
40
+ var classes = classNames(modules_e6a056e1.island, className, (_classNames = {}, _defineProperty(_classNames, modules_e6a056e1.narrowIsland, narrow), _defineProperty(_classNames, modules_e6a056e1.withoutPaddings, withoutPaddings), _classNames));
41
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
42
+ className: classes,
43
+ "data-test": joinDataTestAttributes('ring-island', dataTest)
44
+ }), children);
45
+ }
46
+ }]);
47
+ return Island;
48
+ }(Component);
49
+ _defineProperty(Island, "propTypes", {
50
+ children: PropTypes.node,
51
+ className: PropTypes.string,
52
+ narrow: PropTypes.bool,
53
+ withoutPaddings: PropTypes.bool,
54
+ 'data-test': PropTypes.string
55
+ });
56
+ var AdaptiveIsland = adaptiveIslandHOC(Island);
45
57
 
46
58
  export { AdaptiveIsland, Island as default };
@@ -1,24 +1,34 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, _ as _createClass, h as _objectWithoutProperties, i 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
 
6
- class Content extends PureComponent {
7
- static propTypes = {
8
- className: PropTypes.string,
9
- children: PropTypes.node
10
- };
11
- render() {
12
- const {
13
- children,
14
- className,
15
- ...restProps
16
- } = this.props;
17
- const classes = classNames('ring-island__content', className);
18
- return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
19
- className: classes
20
- }), children);
6
+ var _excluded = ["children", "className"];
7
+ var Content = /*#__PURE__*/function (_PureComponent) {
8
+ _inherits(Content, _PureComponent);
9
+ var _super = _createSuper(Content);
10
+ function Content() {
11
+ _classCallCheck(this, Content);
12
+ return _super.apply(this, arguments);
21
13
  }
22
- }
14
+ _createClass(Content, [{
15
+ key: "render",
16
+ value: function render() {
17
+ var _this$props = this.props,
18
+ children = _this$props.children,
19
+ className = _this$props.className,
20
+ restProps = _objectWithoutProperties(_this$props, _excluded);
21
+ var classes = classNames('ring-island__content', className);
22
+ return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
23
+ className: classes
24
+ }), children);
25
+ }
26
+ }]);
27
+ return Content;
28
+ }(PureComponent);
29
+ _defineProperty(Content, "propTypes", {
30
+ className: PropTypes.string,
31
+ children: PropTypes.node
32
+ });
23
33
 
24
34
  export { Content as default };