@jetbrains/ring-ui-built 7.0.0-beta.1 → 7.0.0-beta.3

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 (241) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -5
  3. package/components/_helpers/button__classes.js +15 -13
  4. package/components/_helpers/caption.js +11 -17
  5. package/components/_helpers/card.js +92 -96
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -23
  9. package/components/_helpers/input.js +150 -171
  10. package/components/_helpers/query-assist__suggestions.js +78 -93
  11. package/components/_helpers/select__filter.js +56 -67
  12. package/components/_helpers/services-link.js +23 -29
  13. package/components/_helpers/sidebar.js +91 -93
  14. package/components/_helpers/tab-link.js +8 -6
  15. package/components/_helpers/theme.js +55 -51
  16. package/components/_helpers/title.js +59 -69
  17. package/components/alert/alert.js +112 -156
  18. package/components/alert/container.js +32 -39
  19. package/components/alert-service/alert-service.js +104 -161
  20. package/components/analytics/analytics.js +12 -20
  21. package/components/analytics/analytics__custom-plugin.js +52 -68
  22. package/components/auth/auth.js +2 -27
  23. package/components/auth/auth__core.d.ts +1 -1
  24. package/components/auth/auth__core.js +742 -1428
  25. package/components/auth/background-flow.js +84 -121
  26. package/components/auth/down-notification.js +31 -69
  27. package/components/auth/iframe-flow.js +70 -123
  28. package/components/auth/request-builder.js +46 -77
  29. package/components/auth/response-parser.js +84 -112
  30. package/components/auth/storage.js +160 -318
  31. package/components/auth/token-validator.js +132 -227
  32. package/components/auth/window-flow.js +84 -121
  33. package/components/auth-dialog/auth-dialog.js +99 -150
  34. package/components/auth-dialog-service/auth-dialog-service.js +6 -26
  35. package/components/avatar/avatar-example-datauri.js +1 -1
  36. package/components/avatar/avatar.js +94 -123
  37. package/components/avatar/fallback-avatar.js +20 -34
  38. package/components/badge/badge.js +32 -38
  39. package/components/breadcrumbs/breadcrumbs.js +13 -17
  40. package/components/button/button.js +67 -80
  41. package/components/button-group/button-group.js +27 -36
  42. package/components/button-set/button-set.js +19 -27
  43. package/components/button-toolbar/button-toolbar.js +17 -25
  44. package/components/caret/caret.js +184 -211
  45. package/components/checkbox/checkbox.js +69 -86
  46. package/components/clipboard/clipboard-fallback.js +7 -7
  47. package/components/clipboard/clipboard.js +36 -128
  48. package/components/code/code.js +83 -151
  49. package/components/collapse/collapse-content.js +42 -60
  50. package/components/collapse/collapse-context.js +2 -2
  51. package/components/collapse/collapse-control.js +12 -12
  52. package/components/collapse/collapse.js +12 -17
  53. package/components/collapse/consts.js +4 -4
  54. package/components/collapse/utils.js +1 -3
  55. package/components/confirm/confirm.js +57 -87
  56. package/components/confirm-service/confirm-service.js +23 -44
  57. package/components/content-layout/content-layout.js +41 -56
  58. package/components/content-layout/sidebar.js +1 -1
  59. package/components/contenteditable/contenteditable.js +38 -46
  60. package/components/control-help/control-help.js +5 -3
  61. package/components/control-label/control-label.js +9 -8
  62. package/components/data-list/data-list.js +113 -156
  63. package/components/data-list/data-list.mock.js +3 -5
  64. package/components/data-list/item.js +120 -140
  65. package/components/data-list/selection.js +77 -135
  66. package/components/data-list/title.js +2 -10
  67. package/components/date-picker/consts.js +16 -22
  68. package/components/date-picker/date-input.js +99 -124
  69. package/components/date-picker/date-picker.js +140 -184
  70. package/components/date-picker/date-popup.js +280 -327
  71. package/components/date-picker/day.js +71 -94
  72. package/components/date-picker/month-names.js +41 -59
  73. package/components/date-picker/month-slider.js +42 -61
  74. package/components/date-picker/month.js +17 -24
  75. package/components/date-picker/months.js +44 -49
  76. package/components/date-picker/weekdays.js +12 -21
  77. package/components/date-picker/years.js +77 -98
  78. package/components/dialog/dialog.js +151 -187
  79. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  80. package/components/dropdown/anchor.js +0 -6
  81. package/components/dropdown/dropdown.js +134 -154
  82. package/components/dropdown-menu/dropdown-menu.js +59 -87
  83. package/components/editable-heading/editable-heading.js +69 -116
  84. package/components/error-bubble/error-bubble.js +29 -54
  85. package/components/error-message/error-message.js +34 -49
  86. package/components/footer/footer.js +27 -28
  87. package/components/global/compose.js +1 -8
  88. package/components/global/composeRefs.d.ts +0 -3
  89. package/components/global/composeRefs.js +8 -15
  90. package/components/global/controls-height.js +2 -2
  91. package/components/global/create-stateful-context.js +14 -13
  92. package/components/global/data-tests.js +7 -12
  93. package/components/global/dom.js +49 -82
  94. package/components/global/focus-sensor-hoc.js +99 -106
  95. package/components/global/fuzzy-highlight.js +23 -34
  96. package/components/global/get-event-key.js +8 -8
  97. package/components/global/get-uid.js +3 -7
  98. package/components/global/inject-styles.js +7 -14
  99. package/components/global/listeners.js +28 -47
  100. package/components/global/memoize.js +6 -10
  101. package/components/global/normalize-indent.js +19 -46
  102. package/components/global/promise-with-timeout.js +6 -8
  103. package/components/global/prop-types.js +3 -5
  104. package/components/global/react-dom-renderer.js +29 -40
  105. package/components/global/rerender-hoc.js +16 -32
  106. package/components/global/schedule-raf.js +4 -4
  107. package/components/global/sniffer.js +1 -1
  108. package/components/global/theme.d.ts +3 -0
  109. package/components/global/theme.js +2 -19
  110. package/components/global/trivial-template-tag.js +4 -9
  111. package/components/global/typescript-utils.js +2 -6
  112. package/components/global/url.js +20 -23
  113. package/components/global/use-event-callback.js +7 -4
  114. package/components/grid/col.js +27 -39
  115. package/components/grid/grid.js +18 -27
  116. package/components/grid/row.js +23 -30
  117. package/components/group/group.js +16 -22
  118. package/components/header/header-icon.js +19 -31
  119. package/components/header/header.d.ts +0 -1
  120. package/components/header/header.js +30 -64
  121. package/components/header/links.d.ts +2 -0
  122. package/components/header/links.js +20 -0
  123. package/components/header/logo.js +15 -26
  124. package/components/header/profile.js +124 -150
  125. package/components/header/services-link.js +1 -3
  126. package/components/header/services.js +64 -97
  127. package/components/header/smart-profile.js +101 -178
  128. package/components/header/smart-services.js +55 -90
  129. package/components/header/tray.js +21 -30
  130. package/components/heading/heading.js +21 -20
  131. package/components/http/http.js +162 -319
  132. package/components/http/http.mock.js +50 -98
  133. package/components/hub-source/hub-source.js +77 -182
  134. package/components/hub-source/hub-source__user.js +9 -37
  135. package/components/hub-source/hub-source__users-groups.js +34 -60
  136. package/components/i18n/i18n-context.js +7 -8
  137. package/components/i18n/i18n.js +3 -6
  138. package/components/icon/icon.js +60 -74
  139. package/components/icon/icon__svg.js +0 -5
  140. package/components/icon/index.js +0 -5
  141. package/components/input/input.js +1 -11
  142. package/components/island/adaptive-island-hoc.js +29 -37
  143. package/components/island/content.js +100 -110
  144. package/components/island/header.js +56 -66
  145. package/components/island/island.js +25 -33
  146. package/components/island-legacy/content-legacy.js +16 -22
  147. package/components/island-legacy/header-legacy.js +19 -25
  148. package/components/island-legacy/island-legacy.js +16 -22
  149. package/components/link/clickableLink.js +33 -42
  150. package/components/link/link.js +47 -55
  151. package/components/list/consts.js +2 -2
  152. package/components/list/list.js +399 -486
  153. package/components/list/list__custom.js +51 -61
  154. package/components/list/list__hint.js +9 -17
  155. package/components/list/list__item.js +147 -178
  156. package/components/list/list__link.js +38 -47
  157. package/components/list/list__separator.js +15 -24
  158. package/components/list/list__title.js +25 -34
  159. package/components/list/list__users-groups-source.js +55 -121
  160. package/components/loader/loader.js +38 -60
  161. package/components/loader/loader__core.js +123 -184
  162. package/components/loader-inline/loader-inline.js +24 -32
  163. package/components/loader-screen/loader-screen.js +24 -40
  164. package/components/login-dialog/login-dialog.js +81 -121
  165. package/components/login-dialog/service.js +6 -29
  166. package/components/markdown/markdown.js +16 -24
  167. package/components/message/message.js +170 -201
  168. package/components/old-browsers-message/old-browsers-message.js +11 -14
  169. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  170. package/components/old-browsers-message/white-list.js +8 -13
  171. package/components/pager/pager.js +212 -257
  172. package/components/panel/panel.js +16 -22
  173. package/components/permissions/permissions.js +118 -161
  174. package/components/permissions/permissions__cache.js +191 -218
  175. package/components/popup/popup.consts.js +1 -1
  176. package/components/popup/popup.js +237 -288
  177. package/components/popup/popup.target.js +9 -7
  178. package/components/popup/position.js +94 -101
  179. package/components/popup-menu/popup-menu.js +33 -67
  180. package/components/progress-bar/progress-bar.js +57 -68
  181. package/components/query-assist/query-assist.js +583 -652
  182. package/components/query-assist/query-assist__suggestions.js +2 -26
  183. package/components/radio/radio.js +15 -27
  184. package/components/radio/radio__item.js +52 -62
  185. package/components/scrollable-section/scrollable-section.js +53 -0
  186. package/components/select/select.js +701 -796
  187. package/components/select/select__filter.js +1 -26
  188. package/components/select/select__popup.js +316 -413
  189. package/components/shortcuts/core.js +147 -195
  190. package/components/shortcuts/shortcut-title.js +6 -10
  191. package/components/shortcuts/shortcuts-hoc.js +23 -41
  192. package/components/shortcuts/shortcuts.js +41 -64
  193. package/components/slider/slider.js +93 -112
  194. package/components/slider/slider.utils.js +16 -23
  195. package/components/storage/storage.js +3 -27
  196. package/components/storage/storage__fallback.js +137 -210
  197. package/components/storage/storage__local.js +89 -147
  198. package/components/style.css +1 -1
  199. package/components/tab-trap/tab-trap.js +35 -53
  200. package/components/table/cell.js +11 -21
  201. package/components/table/disable-hover-hoc.js +27 -42
  202. package/components/table/header-cell.js +59 -75
  203. package/components/table/header.js +89 -110
  204. package/components/table/multitable.js +83 -89
  205. package/components/table/row-with-focus-sensor.js +25 -57
  206. package/components/table/row.js +169 -200
  207. package/components/table/selection-adapter.js +2 -2
  208. package/components/table/selection-shortcuts-hoc.js +108 -113
  209. package/components/table/selection.js +150 -217
  210. package/components/table/simple-table.js +19 -55
  211. package/components/table/smart-table.js +42 -76
  212. package/components/table/table.js +267 -327
  213. package/components/tabs/collapsible-more.js +47 -73
  214. package/components/tabs/collapsible-tab.js +32 -36
  215. package/components/tabs/collapsible-tabs.js +89 -148
  216. package/components/tabs/custom-item.js +4 -2
  217. package/components/tabs/dumb-tabs.js +60 -92
  218. package/components/tabs/smart-tabs.js +29 -61
  219. package/components/tabs/tab-link.js +1 -3
  220. package/components/tabs/tab.js +15 -24
  221. package/components/tabs/tabs.js +1 -26
  222. package/components/tag/tag.d.ts +0 -2
  223. package/components/tag/tag.js +120 -162
  224. package/components/tags-input/tags-input.js +222 -304
  225. package/components/tags-list/tags-list.js +45 -61
  226. package/components/text/text.js +28 -37
  227. package/components/toggle/toggle.js +51 -61
  228. package/components/tooltip/tooltip.js +109 -141
  229. package/components/user-agreement/service.js +259 -400
  230. package/components/user-agreement/user-agreement.js +80 -108
  231. package/components/user-card/card.js +1 -25
  232. package/components/user-card/smart-user-card-tooltip.js +52 -103
  233. package/components/user-card/tooltip.js +35 -65
  234. package/components/user-card/user-card.js +1 -25
  235. package/package.json +1 -1
  236. package/components/global/react-render-adapter.d.ts +0 -1
  237. package/components/global/react-render-adapter.js +0 -6
  238. package/components/header/scrollable-section.js +0 -47
  239. package/components/header/tray-icon.d.ts +0 -1
  240. package/components/header/tray-icon.js +0 -26
  241. /package/components/{header → scrollable-section}/scrollable-section.d.ts +0 -0
@@ -1,7 +1,5 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from './_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.filter.js';
4
- import 'core-js/modules/es.object.to-string.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
3
  import { Component } from 'react';
6
4
  import PropTypes from 'prop-types';
7
5
  import classNames from 'classnames';
@@ -13,76 +11,67 @@ import { jsx } from 'react/jsx-runtime';
13
11
 
14
12
  var modules_b607bec2 = {"filterWithTagsFocused":"filterWithTagsFocused_rui_4b23","light":"light_rui_2ac4","filterWithTags":"filterWithTags_rui_4b23","filterWrapper":"filterWrapper_rui_4b23","filterWithTagsInput":"filterWithTagsInput_rui_4b23","filter":"filter_rui_4b23","popup":"popup_rui_4b23","filterIcon":"filterIcon_rui_4b23","bottomLine":"bottomLine_rui_4b23","bottomLineOverItem":"bottomLineOverItem_rui_4b23","message":"message_rui_4b23","selectAll":"selectAll_rui_4b23"};
15
13
 
16
- var _excluded = ["className", "listId"];
14
+ const _excluded = ["className", "listId"];
17
15
  function noop() {}
18
- var SelectFilter = /*#__PURE__*/function (_Component) {
19
- function SelectFilter() {
20
- var _this;
21
- _classCallCheck(this, SelectFilter);
22
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
23
- args[_key] = arguments[_key];
24
- }
25
- _this = _callSuper(this, SelectFilter, [].concat(args));
26
- _defineProperty(_this, "input", void 0);
27
- _defineProperty(_this, "inputRef", function (el) {
28
- _this.input = el;
29
- _this.props.inputRef(el);
16
+ class SelectFilter extends Component {
17
+ constructor() {
18
+ super(...arguments);
19
+ _defineProperty(this, "input", void 0);
20
+ _defineProperty(this, "inputRef", el => {
21
+ this.input = el;
22
+ this.props.inputRef(el);
30
23
  });
31
- return _this;
32
24
  }
33
- _inherits(SelectFilter, _Component);
34
- return _createClass(SelectFilter, [{
35
- key: "componentWillUnmount",
36
- value: function componentWillUnmount() {
37
- this.blur();
38
- }
39
- }, {
40
- key: "focus",
41
- value: function focus() {
42
- var input = this.input;
43
- if (input && input !== document.activeElement) {
44
- sniffr.browser.name === 'firefox' ? input.select() : input.focus();
25
+ componentWillUnmount() {
26
+ this.blur();
27
+ }
28
+ focus() {
29
+ const {
30
+ input
31
+ } = this;
32
+ if (input && input !== document.activeElement) {
33
+ if (sniffr.browser.name === 'firefox') {
34
+ input.select();
35
+ } else {
36
+ input.focus();
45
37
  }
46
38
  }
47
- }, {
48
- key: "blur",
49
- value: function blur() {
50
- if (this.input && this.input === document.activeElement) {
51
- this.input.blur();
52
- }
39
+ }
40
+ blur() {
41
+ if (this.input && this.input === document.activeElement) {
42
+ this.input.blur();
53
43
  }
54
- }, {
55
- key: "render",
56
- value: function render() {
57
- var _this2 = this;
58
- var _this$props = this.props,
59
- className = _this$props.className,
60
- listId = _this$props.listId,
61
- restProps = _objectWithoutProperties(_this$props, _excluded);
62
- var classes = classNames(modules_b607bec2.filter, className);
63
- return /*#__PURE__*/jsx(ActiveItemContext.ValueContext.Consumer, {
64
- children: function children(activeItemId) {
65
- return /*#__PURE__*/jsx(I18nContext.Consumer, {
66
- children: function children(_ref) {
67
- var _restProps$placeholde;
68
- var translate = _ref.translate;
69
- return /*#__PURE__*/jsx(Input, _objectSpread2(_objectSpread2({}, restProps), {}, {
70
- placeholder: (_restProps$placeholde = restProps.placeholder) !== null && _restProps$placeholde !== void 0 ? _restProps$placeholde : translate('filterItems'),
71
- "aria-owns": listId,
72
- "aria-activedescendant": activeItemId,
73
- autoComplete: "off",
74
- autoFocus: true,
75
- borderless: true,
76
- inputRef: _this2.inputRef,
77
- className: classes
78
- }));
79
- }
80
- });
44
+ }
45
+ render() {
46
+ const _this$props = this.props,
47
+ {
48
+ className,
49
+ listId
50
+ } = _this$props,
51
+ restProps = _objectWithoutProperties(_this$props, _excluded);
52
+ const classes = classNames(modules_b607bec2.filter, className);
53
+ return /*#__PURE__*/jsx(ActiveItemContext.ValueContext.Consumer, {
54
+ children: activeItemId => /*#__PURE__*/jsx(I18nContext.Consumer, {
55
+ children: _ref => {
56
+ var _restProps$placeholde;
57
+ let {
58
+ translate
59
+ } = _ref;
60
+ return /*#__PURE__*/jsx(Input, _objectSpread2(_objectSpread2({}, restProps), {}, {
61
+ placeholder: (_restProps$placeholde = restProps.placeholder) !== null && _restProps$placeholde !== void 0 ? _restProps$placeholde : translate('filterItems'),
62
+ "aria-owns": listId,
63
+ "aria-activedescendant": activeItemId,
64
+ autoComplete: "off",
65
+ autoFocus: true,
66
+ borderless: true,
67
+ inputRef: this.inputRef,
68
+ className: classes
69
+ }));
81
70
  }
82
- });
83
- }
84
- }]);
85
- }(Component);
71
+ })
72
+ });
73
+ }
74
+ }
86
75
  _defineProperty(SelectFilter, "defaultProps", {
87
76
  inputRef: noop
88
77
  });
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from './_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
2
  import { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import Link from '../link/link.js';
@@ -6,35 +6,29 @@ import { jsx } from 'react/jsx-runtime';
6
6
 
7
7
  var modules_74a7bf8b = {"light":"light_rui_2ac4","services":"services_rui_27f4","active":"active_rui_27f4","item":"item_rui_27f4","itemLogo":"itemLogo_rui_27f4","activeItem":"activeItem_rui_27f4 item_rui_27f4 active_rui_27f4","line":"line_rui_27f4","itemStacked":"itemStacked_rui_27f4","activeItemStacked":"activeItemStacked_rui_27f4 itemStacked_rui_27f4 active_rui_27f4"};
8
8
 
9
- var _excluded = ["service"];
10
- var ServicesLink = /*#__PURE__*/function (_PureComponent) {
11
- function ServicesLink() {
12
- _classCallCheck(this, ServicesLink);
13
- return _callSuper(this, ServicesLink, arguments);
9
+ const _excluded = ["service"];
10
+ class ServicesLink extends PureComponent {
11
+ render() {
12
+ const _this$props = this.props,
13
+ {
14
+ service
15
+ } = _this$props,
16
+ props = _objectWithoutProperties(_this$props, _excluded);
17
+ return /*#__PURE__*/jsx(Link, _objectSpread2(_objectSpread2({
18
+ target: "_self",
19
+ href: service.homeUrl
20
+ }, props), {}, {
21
+ children: service.iconUrl ? [/*#__PURE__*/jsx("span", {
22
+ className: modules_74a7bf8b.itemLogo,
23
+ style: {
24
+ backgroundImage: "url(".concat(service.iconUrl, ")")
25
+ }
26
+ }, "icon"), /*#__PURE__*/jsx("div", {
27
+ children: service.name
28
+ }, "text")] : service.name
29
+ }));
14
30
  }
15
- _inherits(ServicesLink, _PureComponent);
16
- return _createClass(ServicesLink, [{
17
- key: "render",
18
- value: function render() {
19
- var _this$props = this.props,
20
- service = _this$props.service,
21
- props = _objectWithoutProperties(_this$props, _excluded);
22
- return /*#__PURE__*/jsx(Link, _objectSpread2(_objectSpread2({
23
- target: "_self",
24
- href: service.homeUrl
25
- }, props), {}, {
26
- children: service.iconUrl ? [/*#__PURE__*/jsx("span", {
27
- className: modules_74a7bf8b.itemLogo,
28
- style: {
29
- backgroundImage: "url(".concat(service.iconUrl, ")")
30
- }
31
- }, "icon"), /*#__PURE__*/jsx("div", {
32
- children: service.name
33
- }, "text")] : service.name
34
- }));
35
- }
36
- }]);
37
- }(PureComponent);
31
+ }
38
32
  _defineProperty(ServicesLink, "propTypes", {
39
33
  isActive: PropTypes.bool,
40
34
  service: PropTypes.shape({
@@ -1,5 +1,5 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from './_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
3
  import { Component } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import classNames from 'classnames';
@@ -8,111 +8,109 @@ import { jsxs, jsx } from 'react/jsx-runtime';
8
8
 
9
9
  var modules_b8a9dd4f = {"extra-small-screen-media":"i__const_extra_small_screen_media_0","small-screen-media":"i__const_small_screen_media_1","sidebarWidth":"calc(var(--ring-unit)*30)","light":"light_rui_2ac4","contentLayout":"contentLayout_rui_6166","contentLayoutContent":"contentLayoutContent_rui_6166","sidebarContainer":"sidebarContainer_rui_6166","sidebarContainerRight":"sidebarContainerRight_rui_6166","sidebar":"sidebar_rui_6166","sidebarRight":"sidebarRight_rui_6166","sidebarFixedTop":"sidebarFixedTop_rui_6166","sidebarFixedBottom":"sidebarFixedBottom_rui_6166","bottomMarker":"bottomMarker_rui_6166","contentLayoutResponsive":"contentLayoutResponsive_rui_6166"};
10
10
 
11
- var _excluded = ["right", "children", "className", "containerClassName", "fixedClassName", "contentNode"];
12
- var ABOVE = 'above';
13
- var INSIDE = 'inside';
14
- var Sidebar = /*#__PURE__*/function (_Component) {
15
- function Sidebar() {
16
- var _this;
17
- _classCallCheck(this, Sidebar);
18
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
- args[_key] = arguments[_key];
20
- }
21
- _this = _callSuper(this, Sidebar, [].concat(args));
22
- _defineProperty(_this, "state", {
11
+ const _excluded = ["right", "children", "className", "containerClassName", "fixedClassName", "contentNode"];
12
+ const ABOVE = 'above';
13
+ const INSIDE = 'inside';
14
+ class Sidebar extends Component {
15
+ constructor() {
16
+ super(...arguments);
17
+ _defineProperty(this, "state", {
23
18
  topIsOutside: true,
24
19
  bottomIsOutside: true,
25
20
  sidebarVisibleHeight: undefined
26
21
  });
27
- _defineProperty(_this, "sidebarNode", void 0);
28
- _defineProperty(_this, "handleTopWaypoint", function (_ref) {
29
- var currentPosition = _ref.currentPosition;
30
- _this.setState({
22
+ _defineProperty(this, "sidebarNode", void 0);
23
+ _defineProperty(this, "handleTopWaypoint", _ref => {
24
+ let {
25
+ currentPosition
26
+ } = _ref;
27
+ this.setState({
31
28
  topIsOutside: currentPosition === ABOVE
32
29
  });
33
30
  });
34
- _defineProperty(_this, "handleBottomWaypoint", function (_ref2) {
35
- var currentPosition = _ref2.currentPosition,
36
- waypointTop = _ref2.waypointTop;
37
- _this.setState({
31
+ _defineProperty(this, "handleBottomWaypoint", _ref2 => {
32
+ let {
33
+ currentPosition,
34
+ waypointTop
35
+ } = _ref2;
36
+ this.setState({
38
37
  sidebarVisibleHeight: waypointTop,
39
38
  bottomIsOutside: currentPosition !== INSIDE
40
39
  });
41
40
  });
42
- _defineProperty(_this, "sidebarRef", function (node) {
43
- _this.sidebarNode = node;
41
+ _defineProperty(this, "sidebarRef", node => {
42
+ this.sidebarNode = node;
44
43
  });
45
- return _this;
46
44
  }
47
- _inherits(Sidebar, _Component);
48
- return _createClass(Sidebar, [{
49
- key: "shouldUseFixation",
50
- value: function shouldUseFixation() {
51
- var contentNode = this.props.contentNode;
52
- var sidebarNode = this.sidebarNode;
53
- if (!contentNode || !sidebarNode) {
54
- return false;
55
- }
56
- return contentNode.offsetHeight >= sidebarNode.offsetHeight;
57
- }
58
- }, {
59
- key: "shouldFixateBottom",
60
- value: function shouldFixateBottom() {
61
- var _this$state = this.state,
62
- topIsOutside = _this$state.topIsOutside,
63
- bottomIsOutside = _this$state.bottomIsOutside;
64
- return !bottomIsOutside && topIsOutside && this.shouldUseFixation();
65
- }
66
- }, {
67
- key: "render",
68
- value: function render() {
69
- var _this$props = this.props,
70
- right = _this$props.right,
71
- children = _this$props.children,
72
- className = _this$props.className,
73
- containerClassName = _this$props.containerClassName,
74
- fixedClassName = _this$props.fixedClassName;
75
- _this$props.contentNode;
76
- var restProps = _objectWithoutProperties(_this$props, _excluded);
77
- var _this$state2 = this.state,
78
- topIsOutside = _this$state2.topIsOutside,
79
- bottomIsOutside = _this$state2.bottomIsOutside,
80
- sidebarVisibleHeight = _this$state2.sidebarVisibleHeight;
81
- var shouldFixateTop = bottomIsOutside && topIsOutside && this.shouldUseFixation();
82
- var shouldFixateBottom = this.shouldFixateBottom();
83
- var containerClasses = classNames(modules_b8a9dd4f.sidebarContainer, containerClassName, {
84
- [modules_b8a9dd4f.sidebarContainerRight]: right
85
- });
86
- var classes = classNames(modules_b8a9dd4f.sidebar, className, {
87
- [modules_b8a9dd4f.sidebarRight]: right,
88
- [modules_b8a9dd4f.sidebarFixedTop]: shouldFixateTop,
89
- [modules_b8a9dd4f.sidebarFixedBottom]: shouldFixateBottom,
90
- [fixedClassName !== null && fixedClassName !== void 0 ? fixedClassName : '']: shouldFixateTop || shouldFixateBottom
91
- });
92
- var style = {
93
- maxHeight: shouldFixateBottom && sidebarVisibleHeight ? "".concat(sidebarVisibleHeight, "px") : undefined
94
- };
95
- return /*#__PURE__*/jsxs("aside", {
96
- className: containerClasses,
97
- ref: this.sidebarRef,
98
- children: [/*#__PURE__*/jsx(Waypoint, {
99
- onEnter: this.handleTopWaypoint,
100
- onLeave: this.handleTopWaypoint
101
- }), /*#__PURE__*/jsx("div", _objectSpread2(_objectSpread2({}, restProps), {}, {
102
- style: style,
103
- className: classes,
104
- children: children
105
- })), /*#__PURE__*/jsx("div", {
106
- className: modules_b8a9dd4f.bottomMarker,
107
- children: /*#__PURE__*/jsx(Waypoint, {
108
- onEnter: this.handleBottomWaypoint,
109
- onLeave: this.handleBottomWaypoint
110
- })
111
- })]
112
- });
45
+ shouldUseFixation() {
46
+ const {
47
+ contentNode
48
+ } = this.props;
49
+ const {
50
+ sidebarNode
51
+ } = this;
52
+ if (!contentNode || !sidebarNode) {
53
+ return false;
113
54
  }
114
- }]);
115
- }(Component);
55
+ return contentNode.offsetHeight >= sidebarNode.offsetHeight;
56
+ }
57
+ shouldFixateBottom() {
58
+ const {
59
+ topIsOutside,
60
+ bottomIsOutside
61
+ } = this.state;
62
+ return !bottomIsOutside && topIsOutside && this.shouldUseFixation();
63
+ }
64
+ render() {
65
+ const _this$props = this.props,
66
+ {
67
+ right,
68
+ children,
69
+ className,
70
+ containerClassName,
71
+ fixedClassName,
72
+ contentNode
73
+ } = _this$props,
74
+ restProps = _objectWithoutProperties(_this$props, _excluded);
75
+ const {
76
+ topIsOutside,
77
+ bottomIsOutside,
78
+ sidebarVisibleHeight
79
+ } = this.state;
80
+ const shouldFixateTop = bottomIsOutside && topIsOutside && this.shouldUseFixation();
81
+ const shouldFixateBottom = this.shouldFixateBottom();
82
+ const containerClasses = classNames(modules_b8a9dd4f.sidebarContainer, containerClassName, {
83
+ [modules_b8a9dd4f.sidebarContainerRight]: right
84
+ });
85
+ const classes = classNames(modules_b8a9dd4f.sidebar, className, {
86
+ [modules_b8a9dd4f.sidebarRight]: right,
87
+ [modules_b8a9dd4f.sidebarFixedTop]: shouldFixateTop,
88
+ [modules_b8a9dd4f.sidebarFixedBottom]: shouldFixateBottom,
89
+ [fixedClassName !== null && fixedClassName !== void 0 ? fixedClassName : '']: shouldFixateTop || shouldFixateBottom
90
+ });
91
+ const style = {
92
+ maxHeight: shouldFixateBottom && sidebarVisibleHeight ? "".concat(sidebarVisibleHeight, "px") : undefined
93
+ };
94
+ return /*#__PURE__*/jsxs("aside", {
95
+ className: containerClasses,
96
+ ref: this.sidebarRef,
97
+ children: [/*#__PURE__*/jsx(Waypoint, {
98
+ onEnter: this.handleTopWaypoint,
99
+ onLeave: this.handleTopWaypoint
100
+ }), /*#__PURE__*/jsx("div", _objectSpread2(_objectSpread2({}, restProps), {}, {
101
+ style: style,
102
+ className: classes,
103
+ children: children
104
+ })), /*#__PURE__*/jsx("div", {
105
+ className: modules_b8a9dd4f.bottomMarker,
106
+ children: /*#__PURE__*/jsx(Waypoint, {
107
+ onEnter: this.handleBottomWaypoint,
108
+ onLeave: this.handleBottomWaypoint
109
+ })
110
+ })]
111
+ });
112
+ }
113
+ }
116
114
  _defineProperty(Sidebar, "propTypes", {
117
115
  right: PropTypes.bool,
118
116
  children: PropTypes.node,
@@ -1,4 +1,4 @@
1
- import { c as _objectWithoutProperties, d as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
1
+ import { a as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
2
  import { memo } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import Link from '../link/link.js';
@@ -6,13 +6,15 @@ import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  var modules_02138f4a = {"dark":"dark_rui_f090","line-shadow":"inset 0 -1px 0 0","selected-line-shadow":"inset 0 -2px 0 0","light":"light_rui_2ac4","link":"link_rui_fa1d","withLinks":"withLinks_rui_fa1d","hover":"hover_rui_fa1d","pseudo":"pseudo_rui_fa1d","active":"active_rui_fa1d","inherit":"inherit_rui_fa1d","tabs":"tabs_rui_fa1d font_rui_f295","titles":"titles_rui_fa1d","title":"title_rui_fa1d font_rui_f295","selected":"selected_rui_fa1d","collapsed":"collapsed_rui_fa1d","titleLegacy":"titleLegacy_rui_fa1d","visible":"visible_rui_fa1d","container":"container_rui_fa1d","hidden":"hidden_rui_fa1d","hiddenBold":"hiddenBold_rui_fa1d","hiddenRegular":"hiddenRegular_rui_fa1d","tabCounter":"tabCounter_rui_fa1d","autoCollapseContainer":"autoCollapseContainer_rui_fa1d","autoCollapse":"autoCollapse_rui_fa1d","rendered":"rendered_rui_fa1d","adjusted":"adjusted_rui_fa1d","measure":"measure_rui_fa1d","morePopup":"morePopup_rui_fa1d","chevron":"chevron_rui_fa1d","morePopupBeforeEnd":"morePopupBeforeEnd_rui_fa1d"};
8
8
 
9
- var _excluded = ["isSelected", "title", "collapsed"];
9
+ const _excluded = ["isSelected", "title", "collapsed"];
10
10
  function TabLink(_ref) {
11
- var isSelected = _ref.isSelected,
12
- title = _ref.title,
13
- collapsed = _ref.collapsed,
11
+ let {
12
+ isSelected,
13
+ title,
14
+ collapsed
15
+ } = _ref,
14
16
  restProps = _objectWithoutProperties(_ref, _excluded);
15
- var renderedTitle = typeof title === 'function' ? title(isSelected, collapsed) : title;
17
+ const renderedTitle = typeof title === 'function' ? title(isSelected, collapsed) : title;
16
18
  return /*#__PURE__*/jsx(Link, _objectSpread2(_objectSpread2({}, restProps), {}, {
17
19
  children: /*#__PURE__*/jsxs("div", {
18
20
  className: modules_02138f4a.container,
@@ -1,5 +1,6 @@
1
- import { i as _slicedToArray, c as _objectWithoutProperties, d as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
- import { useState, useEffect, forwardRef, useMemo, useContext } from 'react';
1
+ import { a as _objectWithoutProperties, b as _objectSpread2 } from './_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import { createContext, useState, useEffect, forwardRef, useMemo, useContext } from 'react';
3
4
  import classNames from 'classnames';
4
5
  import { createPortal } from 'react-dom';
5
6
  import { PopupTargetContext, PopupTarget } from '../popup/popup.target.js';
@@ -11,92 +12,95 @@ var modules_6381a4b3 = {"light":"light_rui_2ac4"};
11
12
 
12
13
  var modules_59717246 = {"dark":"dark_rui_f090"};
13
14
 
14
- var _excluded = ["theme", "className", "passToPopups", "children", "target"];
15
+ const _excluded = ["theme", "className", "passToPopups", "children", "target"];
15
16
  var Theme;
16
17
  (function (Theme) {
17
18
  Theme["AUTO"] = "auto";
18
19
  Theme["LIGHT"] = "light";
19
20
  Theme["DARK"] = "dark";
20
21
  })(Theme || (Theme = {}));
21
- var darkMatcher = window.matchMedia('(prefers-color-scheme: dark)');
22
+ const ThemeContext = /*#__PURE__*/createContext({
23
+ theme: Theme.LIGHT
24
+ });
25
+ const GLOBAL_DARK_CLASS_NAME = 'ring-ui-theme-dark';
26
+ const darkMatcher = window.matchMedia('(prefers-color-scheme: dark)');
22
27
  function useTheme() {
23
- var _useState = useState(darkMatcher.matches),
24
- _useState2 = _slicedToArray(_useState, 2),
25
- dark = _useState2[0],
26
- setDark = _useState2[1];
27
- useEffect(function () {
28
- var onChange = function onChange(e) {
29
- return setDark(e.matches);
30
- };
28
+ const [dark, setDark] = useState(darkMatcher.matches);
29
+ useEffect(() => {
30
+ const onChange = e => setDark(e.matches);
31
31
  darkMatcher.addEventListener('change', onChange);
32
- return function () {
33
- return darkMatcher.removeEventListener('change', onChange);
34
- };
32
+ return () => darkMatcher.removeEventListener('change', onChange);
35
33
  }, []);
36
34
  return dark ? Theme.DARK : Theme.LIGHT;
37
35
  }
38
36
  function useThemeClasses(theme) {
39
- var systemTheme = useTheme();
40
- var resolvedTheme = theme === Theme.AUTO ? systemTheme : theme;
37
+ const systemTheme = useTheme();
38
+ const resolvedTheme = theme === Theme.AUTO ? systemTheme : theme;
41
39
  return classNames({
42
40
  [modules_59717246.dark]: resolvedTheme === Theme.DARK,
41
+ [GLOBAL_DARK_CLASS_NAME]: resolvedTheme === Theme.DARK,
43
42
  [modules_6381a4b3.light]: resolvedTheme === Theme.LIGHT
44
43
  });
45
44
  }
46
45
  function WithThemeClasses(_ref) {
47
- var theme = _ref.theme,
48
- children = _ref.children;
49
- var themeClasses = useThemeClasses(theme);
46
+ let {
47
+ theme,
48
+ children
49
+ } = _ref;
50
+ const themeClasses = useThemeClasses(theme);
50
51
  return children(themeClasses);
51
52
  }
52
53
  function applyTheme(theme, container) {
53
54
  if (theme === Theme.DARK) {
54
55
  container.classList.remove(modules_6381a4b3.light);
55
56
  container.classList.add(modules_59717246.dark);
56
- container.classList.add('ring-ui-theme-dark');
57
+ container.classList.add(GLOBAL_DARK_CLASS_NAME);
57
58
  } else {
58
59
  container.classList.remove(modules_59717246.dark);
59
- container.classList.remove('ring-ui-theme-dark');
60
+ container.classList.remove(GLOBAL_DARK_CLASS_NAME);
60
61
  container.classList.add(modules_6381a4b3.light);
61
62
  }
62
63
  }
63
- var ThemeProvider = /*#__PURE__*/forwardRef(function ThemeProvider(_ref2, ref) {
64
- var _ref2$theme = _ref2.theme,
65
- theme = _ref2$theme === void 0 ? Theme.AUTO : _ref2$theme,
66
- className = _ref2.className,
67
- passToPopups = _ref2.passToPopups,
68
- _children = _ref2.children,
69
- target = _ref2.target,
64
+ const ThemeProvider = /*#__PURE__*/forwardRef(function ThemeProvider(_ref2, ref) {
65
+ let {
66
+ theme = Theme.AUTO,
67
+ className,
68
+ passToPopups,
69
+ children,
70
+ target
71
+ } = _ref2,
70
72
  restProps = _objectWithoutProperties(_ref2, _excluded);
71
- var systemTheme = useTheme();
72
- var resolvedTheme = theme === Theme.AUTO ? systemTheme : theme;
73
- var id = useMemo(function () {
74
- return getUID('popups-with-theme-');
75
- }, []);
76
- useEffect(function () {
73
+ const systemTheme = useTheme();
74
+ const resolvedTheme = theme === Theme.AUTO ? systemTheme : theme;
75
+ const id = useMemo(() => getUID('popups-with-theme-'), []);
76
+ const themeValue = useMemo(() => ({
77
+ theme: resolvedTheme
78
+ }), [resolvedTheme]);
79
+ useEffect(() => {
77
80
  if (target != null) {
78
81
  applyTheme(resolvedTheme, target);
79
82
  }
80
83
  }, [resolvedTheme, target]);
81
- var themeClasses = useThemeClasses(theme);
82
- var parentTarget = useContext(PopupTargetContext);
83
- return /*#__PURE__*/jsx("div", _objectSpread2(_objectSpread2({
84
- ref: ref,
85
- className: target != null ? undefined : classNames(className, themeClasses)
86
- }, restProps), {}, {
87
- children: passToPopups ? /*#__PURE__*/jsx(PopupTarget, {
88
- id: id,
89
- children: function children(popupTarget) {
90
- return /*#__PURE__*/jsxs(Fragment, {
91
- children: [_children, /*#__PURE__*/createPortal( /*#__PURE__*/jsx("div", {
84
+ const themeClasses = useThemeClasses(theme);
85
+ const parentTarget = useContext(PopupTargetContext);
86
+ return /*#__PURE__*/jsx(ThemeContext.Provider, {
87
+ value: themeValue,
88
+ children: /*#__PURE__*/jsx("div", _objectSpread2(_objectSpread2({
89
+ ref: ref,
90
+ className: target != null ? undefined : classNames(className, themeClasses)
91
+ }, restProps), {}, {
92
+ children: passToPopups ? /*#__PURE__*/jsx(PopupTarget, {
93
+ id: id,
94
+ children: popupTarget => /*#__PURE__*/jsxs(Fragment, {
95
+ children: [children, /*#__PURE__*/createPortal( /*#__PURE__*/jsx("div", {
92
96
  className: themeClasses,
93
97
  children: popupTarget
94
98
  }), parentTarget && getPopupContainer(parentTarget) || document.body)]
95
- });
96
- }
97
- }) : _children
98
- }));
99
+ })
100
+ }) : children
101
+ }))
102
+ });
99
103
  });
100
104
  var Theme$1 = Theme;
101
105
 
102
- export { Theme$1 as T, WithThemeClasses as W, ThemeProvider as a, useThemeClasses as b, applyTheme as c, modules_59717246 as m, useTheme as u };
106
+ export { Theme$1 as T, WithThemeClasses as W, ThemeProvider as a, ThemeContext as b, useThemeClasses as c, applyTheme as d, modules_59717246 as m, useTheme as u };