@jetbrains/ring-ui 5.0.156 → 5.0.157

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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -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 };