@jetbrains/ring-ui-built 6.0.32 → 6.0.33

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 (224) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +567 -1
  2. package/components/_helpers/anchor.js +6 -7
  3. package/components/_helpers/button__classes.js +14 -16
  4. package/components/_helpers/caption.js +20 -14
  5. package/components/_helpers/card.js +105 -95
  6. package/components/_helpers/dialog__body-scroll-preventer.js +19 -11
  7. package/components/_helpers/icon__svg.js +25 -22
  8. package/components/_helpers/input.js +177 -146
  9. package/components/_helpers/query-assist__suggestions.js +90 -74
  10. package/components/_helpers/select__filter.js +69 -48
  11. package/components/_helpers/services-link.js +37 -29
  12. package/components/_helpers/sidebar.js +107 -99
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +40 -31
  15. package/components/_helpers/title.js +72 -57
  16. package/components/alert/alert.js +202 -150
  17. package/components/alert/container.js +41 -32
  18. package/components/alert-service/alert-service.js +170 -105
  19. package/components/analytics/analytics.js +22 -12
  20. package/components/analytics/analytics__custom-plugin.js +75 -54
  21. package/components/auth/auth.js +36 -4
  22. package/components/auth/auth__core.js +1471 -746
  23. package/components/auth/background-flow.js +127 -87
  24. package/components/auth/down-notification.js +73 -30
  25. package/components/auth/iframe-flow.js +133 -75
  26. package/components/auth/request-builder.js +82 -46
  27. package/components/auth/response-parser.js +116 -86
  28. package/components/auth/storage.js +334 -171
  29. package/components/auth/token-validator.js +242 -137
  30. package/components/auth/window-flow.js +134 -92
  31. package/components/auth-dialog/auth-dialog.js +172 -114
  32. package/components/auth-dialog-service/auth-dialog-service.js +31 -8
  33. package/components/avatar/avatar-example-datauri.js +1 -23
  34. package/components/avatar/avatar.js +152 -119
  35. package/components/avatar/fallback-avatar.js +38 -22
  36. package/components/badge/badge.js +45 -35
  37. package/components/button/button.js +107 -86
  38. package/components/button-group/button-group.js +33 -19
  39. package/components/button-set/button-set.js +32 -20
  40. package/components/button-toolbar/button-toolbar.js +31 -19
  41. package/components/caret/caret.js +220 -186
  42. package/components/checkbox/checkbox.js +101 -76
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +132 -35
  45. package/components/code/code.js +166 -92
  46. package/components/collapse/collapse-content.js +64 -42
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +14 -12
  49. package/components/collapse/collapse.js +17 -11
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +3 -1
  52. package/components/confirm/confirm.js +104 -66
  53. package/components/confirm-service/confirm-service.js +59 -37
  54. package/components/content-layout/content-layout.js +64 -43
  55. package/components/content-layout/sidebar.js +1 -0
  56. package/components/contenteditable/contenteditable.js +59 -50
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +182 -129
  59. package/components/data-list/data-list.mock.js +6 -2
  60. package/components/data-list/item.js +170 -143
  61. package/components/data-list/selection.js +136 -76
  62. package/components/data-list/title.js +12 -1
  63. package/components/date-picker/consts.js +26 -19
  64. package/components/date-picker/date-input.js +144 -113
  65. package/components/date-picker/date-picker.js +282 -227
  66. package/components/date-picker/date-popup.js +395 -350
  67. package/components/date-picker/day.js +116 -87
  68. package/components/date-picker/month-names.js +66 -43
  69. package/components/date-picker/month-slider.js +76 -51
  70. package/components/date-picker/month.js +25 -16
  71. package/components/date-picker/months.js +50 -43
  72. package/components/date-picker/weekdays.js +22 -12
  73. package/components/date-picker/years.js +110 -83
  74. package/components/dialog/dialog.js +190 -142
  75. package/components/dialog/dialog__body-scroll-preventer.js +4 -0
  76. package/components/dropdown/anchor.js +9 -0
  77. package/components/dropdown/dropdown.js +213 -182
  78. package/components/dropdown-menu/dropdown-menu.js +97 -71
  79. package/components/editable-heading/editable-heading.js +127 -75
  80. package/components/error-bubble/error-bubble.js +60 -31
  81. package/components/error-message/error-message.js +59 -39
  82. package/components/footer/footer.js +30 -27
  83. package/components/global/compose.js +10 -1
  84. package/components/global/composeRefs.js +12 -7
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +14 -6
  88. package/components/global/dom.js +86 -47
  89. package/components/global/focus-sensor-hoc.js +132 -122
  90. package/components/global/fuzzy-highlight.js +36 -22
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +8 -4
  93. package/components/global/inject-styles.js +15 -10
  94. package/components/global/listeners.js +51 -27
  95. package/components/global/memoize.js +12 -6
  96. package/components/global/normalize-indent.js +50 -19
  97. package/components/global/promise-with-timeout.js +8 -6
  98. package/components/global/prop-types.js +5 -3
  99. package/components/global/react-dom-renderer.js +44 -28
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +30 -12
  102. package/components/global/schedule-raf.js +6 -5
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +22 -0
  105. package/components/global/trivial-template-tag.js +10 -3
  106. package/components/global/typescript-utils.js +6 -2
  107. package/components/global/url.js +26 -20
  108. package/components/global/use-event-callback.js +4 -6
  109. package/components/grid/col.js +52 -35
  110. package/components/grid/grid.js +31 -17
  111. package/components/grid/row.js +47 -35
  112. package/components/group/group.js +25 -17
  113. package/components/header/header.js +78 -33
  114. package/components/header/logo.js +36 -20
  115. package/components/header/profile.js +199 -166
  116. package/components/header/services-link.js +4 -0
  117. package/components/header/services.js +116 -73
  118. package/components/header/smart-profile.js +203 -111
  119. package/components/header/smart-services.js +113 -62
  120. package/components/header/tray-icon.js +37 -21
  121. package/components/header/tray.js +32 -21
  122. package/components/heading/heading.js +25 -24
  123. package/components/http/http.js +353 -203
  124. package/components/http/http.mock.js +101 -49
  125. package/components/hub-source/hub-source.js +190 -83
  126. package/components/hub-source/hub-source__user.js +44 -11
  127. package/components/hub-source/hub-source__users-groups.js +65 -37
  128. package/components/i18n/i18n-context.js +10 -7
  129. package/components/i18n/i18n.js +10 -7
  130. package/components/icon/icon.js +93 -76
  131. package/components/icon/icon__svg.js +8 -0
  132. package/components/icon/index.js +8 -0
  133. package/components/input/input.js +13 -0
  134. package/components/island/adaptive-island-hoc.js +43 -30
  135. package/components/island/content.js +132 -115
  136. package/components/island/header.js +70 -57
  137. package/components/island/island.js +40 -28
  138. package/components/island-legacy/content-legacy.js +25 -17
  139. package/components/island-legacy/header-legacy.js +27 -19
  140. package/components/island-legacy/island-legacy.js +25 -17
  141. package/components/link/clickableLink.js +59 -44
  142. package/components/link/link.js +68 -57
  143. package/components/list/consts.js +2 -2
  144. package/components/list/list.js +698 -611
  145. package/components/list/list__custom.js +62 -44
  146. package/components/list/list__hint.js +19 -10
  147. package/components/list/list__item.js +174 -133
  148. package/components/list/list__link.js +50 -37
  149. package/components/list/list__separator.js +24 -14
  150. package/components/list/list__title.js +32 -22
  151. package/components/list/list__users-groups-source.js +126 -54
  152. package/components/loader/loader.js +74 -43
  153. package/components/loader/loader__core.js +263 -198
  154. package/components/loader-inline/loader-inline.js +35 -23
  155. package/components/loader-screen/loader-screen.js +46 -25
  156. package/components/login-dialog/login-dialog.js +158 -111
  157. package/components/login-dialog/service.js +34 -8
  158. package/components/markdown/markdown.js +23 -15
  159. package/components/message/message.js +203 -161
  160. package/components/old-browsers-message/old-browsers-message.js +18 -11
  161. package/components/old-browsers-message/old-browsers-message__stop.js +7 -0
  162. package/components/old-browsers-message/white-list.js +16 -8
  163. package/components/pager/pager.js +271 -212
  164. package/components/panel/panel.js +25 -17
  165. package/components/permissions/permissions.js +172 -127
  166. package/components/permissions/permissions__cache.js +224 -194
  167. package/components/popup/popup.consts.js +1 -1
  168. package/components/popup/popup.js +343 -284
  169. package/components/popup/popup.target.js +8 -9
  170. package/components/popup/position.js +106 -96
  171. package/components/popup-menu/popup-menu.js +81 -44
  172. package/components/progress-bar/progress-bar.js +104 -87
  173. package/components/query-assist/query-assist.js +916 -838
  174. package/components/query-assist/query-assist__suggestions.js +30 -1
  175. package/components/radio/radio.js +34 -19
  176. package/components/radio/radio__item.js +69 -52
  177. package/components/select/select.js +957 -852
  178. package/components/select/select__filter.js +30 -0
  179. package/components/select/select__popup.js +487 -373
  180. package/components/shortcuts/core.js +217 -166
  181. package/components/shortcuts/shortcut-title.js +11 -6
  182. package/components/shortcuts/shortcuts-hoc.js +45 -19
  183. package/components/shortcuts/shortcuts.js +75 -50
  184. package/components/slider/slider.js +122 -99
  185. package/components/slider/slider.utils.js +24 -14
  186. package/components/storage/storage.js +33 -4
  187. package/components/storage/storage__fallback.js +224 -149
  188. package/components/storage/storage__local.js +153 -90
  189. package/components/tab-trap/tab-trap.js +153 -122
  190. package/components/table/cell.js +26 -14
  191. package/components/table/disable-hover-hoc.js +51 -33
  192. package/components/table/header-cell.js +89 -64
  193. package/components/table/header.js +132 -104
  194. package/components/table/multitable.js +125 -107
  195. package/components/table/row-with-focus-sensor.js +69 -25
  196. package/components/table/row.js +216 -175
  197. package/components/table/selection-adapter.js +3 -1
  198. package/components/table/selection-shortcuts-hoc.js +181 -180
  199. package/components/table/selection.js +226 -156
  200. package/components/table/smart-table.js +88 -50
  201. package/components/table/table.js +358 -289
  202. package/components/tabs/collapsible-more.js +79 -46
  203. package/components/tabs/collapsible-tab.js +38 -31
  204. package/components/tabs/collapsible-tabs.js +153 -88
  205. package/components/tabs/custom-item.js +2 -4
  206. package/components/tabs/dumb-tabs.js +117 -74
  207. package/components/tabs/smart-tabs.js +69 -29
  208. package/components/tabs/tab-link.js +5 -1
  209. package/components/tabs/tab.js +31 -19
  210. package/components/tabs/tabs.js +31 -0
  211. package/components/tag/tag.js +173 -133
  212. package/components/tags-input/tags-input.js +427 -329
  213. package/components/tags-list/tags-list.js +78 -57
  214. package/components/text/text.js +39 -28
  215. package/components/toggle/toggle.js +70 -56
  216. package/components/tooltip/tooltip.js +190 -146
  217. package/components/user-agreement/service.js +371 -228
  218. package/components/user-agreement/toolbox.eula.js +1 -160
  219. package/components/user-agreement/user-agreement.js +120 -85
  220. package/components/user-card/card.js +29 -0
  221. package/components/user-card/smart-user-card-tooltip.js +111 -51
  222. package/components/user-card/tooltip.js +84 -47
  223. package/components/user-card/user-card.js +29 -0
  224. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _objectWithoutProperties, d as _objectSpread2, e as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.assign.js';
2
3
  import React, { useMemo, cloneElement } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import List, { ActiveItemContext } from '../list/list.js';
@@ -7,6 +8,15 @@ import PopupMenu from '../popup-menu/popup-menu.js';
7
8
  import getUID from '../global/get-uid.js';
8
9
  import { A as Anchor } from '../_helpers/anchor.js';
9
10
  import { isArray } from '../global/typescript-utils.js';
11
+ import 'core-js/modules/es.symbol.js';
12
+ import 'core-js/modules/es.symbol.description.js';
13
+ import 'core-js/modules/es.array.concat.js';
14
+ import 'core-js/modules/es.array.find.js';
15
+ import 'core-js/modules/es.array.find-index.js';
16
+ import 'core-js/modules/es.array.includes.js';
17
+ import 'core-js/modules/es.array.map.js';
18
+ import 'core-js/modules/es.object.to-string.js';
19
+ import 'core-js/modules/es.string.includes.js';
10
20
  import 'classnames';
11
21
  import 'react-virtualized/dist/es/List';
12
22
  import 'react-virtualized/dist/es/AutoSizer';
@@ -15,11 +25,25 @@ import 'react-virtualized/dist/es/CellMeasurer';
15
25
  import 'util-deprecate';
16
26
  import 'memoize-one';
17
27
  import '../global/data-tests.js';
28
+ import 'core-js/modules/es.array.reduce.js';
29
+ import 'core-js/modules/es.object.entries.js';
18
30
  import '../global/schedule-raf.js';
19
31
  import '../global/memoize.js';
32
+ import 'core-js/modules/es.array.iterator.js';
33
+ import 'core-js/modules/es.map.js';
34
+ import 'core-js/modules/es.weak-map.js';
35
+ import 'core-js/modules/web.dom-collections.iterator.js';
20
36
  import '../global/dom.js';
37
+ import 'core-js/modules/es.array.filter.js';
38
+ import 'core-js/modules/es.regexp.exec.js';
39
+ import 'core-js/modules/es.set.js';
40
+ import 'core-js/modules/es.string.split.js';
41
+ import 'core-js/modules/web.dom-collections.for-each.js';
21
42
  import '../shortcuts/shortcuts.js';
22
43
  import '../shortcuts/core.js';
44
+ import 'core-js/modules/es.array.slice.js';
45
+ import 'core-js/modules/es.array.splice.js';
46
+ import 'core-js/modules/es.string.match.js';
23
47
  import 'combokeys';
24
48
  import '../global/sniffer.js';
25
49
  import 'sniffr';
@@ -30,15 +54,20 @@ import '../link/clickableLink.js';
30
54
  import '../_helpers/link.js';
31
55
  import '../_helpers/list.js';
32
56
  import '../list/list__item.js';
57
+ import 'core-js/modules/es.array.index-of.js';
33
58
  import '../avatar/avatar.js';
34
59
  import '../global/url.js';
60
+ import 'core-js/modules/es.string.replace.js';
35
61
  import '../avatar/fallback-avatar.js';
62
+ import 'core-js/modules/es.array.from.js';
63
+ import 'core-js/modules/es.regexp.to-string.js';
36
64
  import '../checkbox/checkbox.js';
37
65
  import '@jetbrains/icons/checkmark-12px';
38
66
  import '@jetbrains/icons/remove-12px';
39
67
  import '../icon/icon.js';
40
68
  import '../icon/icon__constants.js';
41
69
  import '../_helpers/icon__svg.js';
70
+ import 'core-js/modules/es.string.starts-with.js';
42
71
  import '../global/prop-types.js';
43
72
  import '../global/composeRefs.js';
44
73
  import '../list/list__custom.js';
@@ -55,60 +84,58 @@ import '../popup/popup.js';
55
84
  import 'react-dom';
56
85
  import '../tab-trap/tab-trap.js';
57
86
  import '../popup/position.js';
87
+ import 'core-js/modules/es.array.sort.js';
58
88
  import '../popup/popup.consts.js';
59
89
  import '../popup/popup.target.js';
60
90
 
61
- const {
62
- children,
63
- ...dropdownPropTypes
64
- } = Dropdown.propTypes || {};
65
- const {
66
- id: idPropType,
67
- data: dataPropType,
68
- ariaLabel: ariaLabelPropType,
69
- onSelect: onSelectPropType
70
- } = PopupMenu.propTypes || {};
71
- const defaultAriaLabel = 'Dropdown menu';
72
- function DropdownAnchorWrapper(_ref) {
73
- let {
74
- anchor,
75
- pinned,
76
- active,
77
- activeListItemId,
78
- listId,
79
- ...restProps
80
- } = _ref;
81
- const anchorAriaProps = useMemo(() => ({
82
- ...(listId ? {
91
+ var _excluded = ["anchor", "pinned", "active", "activeListItemId", "listId"],
92
+ _excluded2 = ["id", "anchor", "ariaLabel", "data", "onSelect", "menuProps"],
93
+ _excluded3 = ["pinned", "active"];
94
+ var _ref = Dropdown.propTypes || {};
95
+ _ref.children;
96
+ var dropdownPropTypes = _objectWithoutProperties(_ref, ["children"]);
97
+ var _ref2 = PopupMenu.propTypes || {},
98
+ idPropType = _ref2.id,
99
+ dataPropType = _ref2.data,
100
+ ariaLabelPropType = _ref2.ariaLabel,
101
+ onSelectPropType = _ref2.onSelect;
102
+ var defaultAriaLabel = 'Dropdown menu';
103
+ function DropdownAnchorWrapper(_ref3) {
104
+ var anchor = _ref3.anchor,
105
+ pinned = _ref3.pinned,
106
+ active = _ref3.active,
107
+ activeListItemId = _ref3.activeListItemId,
108
+ listId = _ref3.listId,
109
+ restProps = _objectWithoutProperties(_ref3, _excluded);
110
+ var anchorAriaProps = useMemo(function () {
111
+ return _objectSpread2(_objectSpread2(_objectSpread2({}, listId ? {
83
112
  'aria-haspopup': true
84
- } : {}),
85
- ...(activeListItemId ? {
113
+ } : {}), activeListItemId ? {
86
114
  'aria-activedescendant': activeListItemId,
87
115
  'aria-owns': listId
88
- } : {}),
89
- ...(active ? {
116
+ } : {}), active ? {
90
117
  'aria-expanded': true
91
- } : {})
92
- }), [active, activeListItemId, listId]);
93
- const anchorProps = useMemo(() => ({
94
- active,
95
- pinned,
96
- ...restProps,
97
- ...anchorAriaProps
98
- }), [pinned, active, restProps, anchorAriaProps]);
99
- const anchorComponentProps = useMemo(() => ({
100
- ...anchorProps,
101
- pinned: `${anchorProps.pinned}`
102
- }), [anchorProps]);
118
+ } : {});
119
+ }, [active, activeListItemId, listId]);
120
+ var anchorProps = useMemo(function () {
121
+ return _objectSpread2(_objectSpread2({
122
+ active,
123
+ pinned
124
+ }, restProps), anchorAriaProps);
125
+ }, [pinned, active, restProps, anchorAriaProps]);
126
+ var anchorComponentProps = useMemo(function () {
127
+ return _objectSpread2(_objectSpread2({}, anchorProps), {}, {
128
+ pinned: "".concat(anchorProps.pinned)
129
+ });
130
+ }, [anchorProps]);
103
131
  if (typeof anchor === 'string') {
104
132
  return /*#__PURE__*/React.createElement(Anchor, anchorComponentProps, anchor);
105
133
  }
106
134
  if (typeof anchor === 'function') {
107
- return anchor({
135
+ return anchor(_objectSpread2({
108
136
  active,
109
- pinned,
110
- ...restProps
111
- }, anchorAriaProps);
137
+ pinned
138
+ }, restProps), anchorAriaProps);
112
139
  }
113
140
  if (!isArray(anchor)) {
114
141
  return /*#__PURE__*/cloneElement(anchor, typeof anchor.type === 'string' ? anchorAriaProps : anchorComponentProps);
@@ -122,31 +149,31 @@ DropdownAnchorWrapper.propTypes = {
122
149
  activeListItemId: PropTypes.string,
123
150
  listId: PropTypes.string
124
151
  };
125
- const DropdownMenu = /*#__PURE__*/React.forwardRef(function DropdownMenu(_ref2, forwardedRef) {
126
- let {
127
- id,
128
- anchor,
129
- ariaLabel,
130
- data,
131
- onSelect,
132
- menuProps,
133
- ...restDropdownProps
134
- } = _ref2;
135
- const listId = useMemo(() => id || getUID('dropdown-menu-list'), [id]);
152
+ var DropdownMenu = /*#__PURE__*/React.forwardRef(function DropdownMenu(_ref4, forwardedRef) {
153
+ var id = _ref4.id,
154
+ _anchor = _ref4.anchor,
155
+ ariaLabel = _ref4.ariaLabel,
156
+ data = _ref4.data,
157
+ onSelect = _ref4.onSelect,
158
+ menuProps = _ref4.menuProps,
159
+ restDropdownProps = _objectWithoutProperties(_ref4, _excluded2);
160
+ var listId = useMemo(function () {
161
+ return id || getUID('dropdown-menu-list');
162
+ }, [id]);
136
163
  return /*#__PURE__*/React.createElement(ActiveItemContext.Provider, null, /*#__PURE__*/React.createElement(Dropdown, _extends({
137
- anchor: _ref3 => {
138
- let {
139
- pinned,
140
- active,
141
- ...restAnchorProps
142
- } = _ref3;
143
- return /*#__PURE__*/React.createElement(ActiveItemContext.ValueContext.Consumer, null, activeItemId => /*#__PURE__*/React.createElement(DropdownAnchorWrapper, _extends({
144
- anchor: anchor,
145
- pinned: pinned,
146
- active: active,
147
- activeListItemId: activeItemId,
148
- listId: listId
149
- }, restAnchorProps)));
164
+ anchor: function anchor(_ref5) {
165
+ var pinned = _ref5.pinned,
166
+ active = _ref5.active,
167
+ restAnchorProps = _objectWithoutProperties(_ref5, _excluded3);
168
+ return /*#__PURE__*/React.createElement(ActiveItemContext.ValueContext.Consumer, null, function (activeItemId) {
169
+ return /*#__PURE__*/React.createElement(DropdownAnchorWrapper, _extends({
170
+ anchor: _anchor,
171
+ pinned: pinned,
172
+ active: active,
173
+ activeListItemId: activeItemId,
174
+ listId: listId
175
+ }, restAnchorProps));
176
+ });
150
177
  }
151
178
  }, restDropdownProps), /*#__PURE__*/React.createElement(PopupMenu, _extends({
152
179
  ref: forwardedRef,
@@ -158,14 +185,13 @@ const DropdownMenu = /*#__PURE__*/React.forwardRef(function DropdownMenu(_ref2,
158
185
  onSelect: onSelect
159
186
  }, menuProps))));
160
187
  });
161
- DropdownMenu.propTypes = {
188
+ DropdownMenu.propTypes = _objectSpread2({
162
189
  id: idPropType,
163
190
  data: dataPropType,
164
191
  ariaLabel: ariaLabelPropType,
165
192
  onSelect: onSelectPropType,
166
- menuProps: PropTypes.object,
167
- ...dropdownPropTypes
168
- };
193
+ menuProps: PropTypes.object
194
+ }, dropdownPropTypes);
169
195
  var DropdownMenu$1 = Object.assign(DropdownMenu, {
170
196
  ListProps: List.ListProps
171
197
  });
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { c as _objectWithoutProperties, j as _slicedToArray, e as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.string.trim.js';
2
3
  import React, { useCallback, useEffect } from 'react';
3
4
  import classNames from 'classnames';
4
5
  import Heading, { Levels } from '../heading/heading.js';
@@ -9,73 +10,125 @@ import Shortcuts from '../shortcuts/shortcuts.js';
9
10
  import 'prop-types';
10
11
  import 'util-deprecate';
11
12
  import '../_helpers/heading.js';
13
+ import 'core-js/modules/es.array.concat.js';
12
14
  import '@jetbrains/icons/chevron-10px';
13
15
  import '../icon/icon.js';
14
16
  import '../icon/icon__constants.js';
15
17
  import '../_helpers/icon__svg.js';
18
+ import 'core-js/modules/es.regexp.exec.js';
19
+ import 'core-js/modules/es.string.replace.js';
20
+ import 'core-js/modules/es.string.starts-with.js';
16
21
  import '../global/memoize.js';
22
+ import 'core-js/modules/es.array.iterator.js';
23
+ import 'core-js/modules/es.map.js';
24
+ import 'core-js/modules/es.object.to-string.js';
25
+ import 'core-js/modules/es.weak-map.js';
26
+ import 'core-js/modules/web.dom-collections.iterator.js';
17
27
  import '../link/clickableLink.js';
18
28
  import '../global/controls-height.js';
19
29
  import '../_helpers/button__classes.js';
30
+ import 'core-js/modules/es.object.values.js';
20
31
  import '@jetbrains/icons/close-12px';
21
32
  import '../global/prop-types.js';
22
33
  import '../i18n/i18n-context.js';
23
34
  import '../i18n/i18n.js';
35
+ import 'core-js/modules/es.set.js';
24
36
  import '../global/composeRefs.js';
37
+ import 'core-js/modules/web.dom-collections.for-each.js';
25
38
  import '../control-label/control-label.js';
39
+ import 'core-js/modules/es.regexp.to-string.js';
40
+ import 'core-js/modules/es.array.map.js';
26
41
  import '../shortcuts/core.js';
42
+ import 'core-js/modules/es.array.find-index.js';
43
+ import 'core-js/modules/es.array.includes.js';
44
+ import 'core-js/modules/es.array.slice.js';
45
+ import 'core-js/modules/es.array.splice.js';
46
+ import 'core-js/modules/es.object.assign.js';
47
+ import 'core-js/modules/es.string.includes.js';
48
+ import 'core-js/modules/es.string.match.js';
27
49
  import 'combokeys';
28
50
  import '../global/sniffer.js';
29
51
  import 'sniffr';
30
52
 
31
53
  var modules_6e69b0fe = {"editableHeading":"editableHeading_rui_0f5a","fullSize":"fullSize_rui_0f5a","isEditing":"isEditing_rui_0f5a","headingWrapperButton":"headingWrapperButton_rui_0f5a","disabled":"disabled_rui_0f5a","selectionMode":"selectionMode_rui_0f5a","heading":"heading_rui_0f5a","multiline":"multiline_rui_0f5a","input":"input_rui_0f5a","error":"error_rui_0f5a","textarea":"textarea_rui_0f5a","textareaNotOverflow":"textareaNotOverflow_rui_0f5a","textareaFade":"textareaFade_rui_0f5a","textareaWrapper":"textareaWrapper_rui_0f5a","button":"button_rui_0f5a","errorText":"errorText_rui_0f5a","level1":"level1_rui_0f5a","level2":"level2_rui_0f5a","level3":"level3_rui_0f5a","sizeS":"sizeS_rui_0f5a","sizeM":"sizeM_rui_0f5a","sizeL":"sizeL_rui_0f5a","sizeFULL":"sizeFULL_rui_0f5a"};
32
54
 
55
+ var _excluded = ["level", "className", "headingClassName", "inputClassName", "children", "isEditing", "isSavingPossible", "isSaving", "embedded", "size", "onEdit", "onSave", "onCancel", "autoFocus", "data-test", "error", "disabled", "multiline", "renderMenu", "onFocus", "onBlur", "onChange", "onScroll", "maxInputRows", "translations"];
33
56
  function noop() {}
34
- const EditableHeading = props => {
35
- const {
36
- level = Levels.H1,
37
- className,
38
- headingClassName,
39
- inputClassName,
40
- children,
41
- isEditing = false,
42
- isSavingPossible = false,
43
- isSaving = false,
44
- embedded = false,
45
- size = Size.L,
46
- onEdit = noop,
47
- onSave = noop,
48
- onCancel = noop,
49
- autoFocus = true,
50
- 'data-test': dataTest,
51
- error,
52
- disabled,
53
- multiline = false,
54
- renderMenu = () => null,
55
- onFocus,
56
- onBlur,
57
- onChange,
58
- onScroll,
59
- maxInputRows,
60
- translations = {
57
+ var EditableHeading = function EditableHeading(props) {
58
+ var _props$level = props.level,
59
+ level = _props$level === void 0 ? Levels.H1 : _props$level,
60
+ className = props.className,
61
+ headingClassName = props.headingClassName,
62
+ inputClassName = props.inputClassName,
63
+ children = props.children,
64
+ _props$isEditing = props.isEditing,
65
+ isEditing = _props$isEditing === void 0 ? false : _props$isEditing,
66
+ _props$isSavingPossib = props.isSavingPossible,
67
+ isSavingPossible = _props$isSavingPossib === void 0 ? false : _props$isSavingPossib,
68
+ _props$isSaving = props.isSaving,
69
+ isSaving = _props$isSaving === void 0 ? false : _props$isSaving,
70
+ _props$embedded = props.embedded,
71
+ embedded = _props$embedded === void 0 ? false : _props$embedded,
72
+ _props$size = props.size,
73
+ size = _props$size === void 0 ? Size.L : _props$size,
74
+ _props$onEdit = props.onEdit,
75
+ onEdit = _props$onEdit === void 0 ? noop : _props$onEdit,
76
+ _props$onSave = props.onSave,
77
+ onSave = _props$onSave === void 0 ? noop : _props$onSave,
78
+ _props$onCancel = props.onCancel,
79
+ onCancel = _props$onCancel === void 0 ? noop : _props$onCancel,
80
+ _props$autoFocus = props.autoFocus,
81
+ autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,
82
+ dataTest = props['data-test'],
83
+ error = props.error,
84
+ disabled = props.disabled,
85
+ _props$multiline = props.multiline,
86
+ multiline = _props$multiline === void 0 ? false : _props$multiline,
87
+ _props$renderMenu = props.renderMenu,
88
+ renderMenu = _props$renderMenu === void 0 ? function () {
89
+ return null;
90
+ } : _props$renderMenu,
91
+ onFocus = props.onFocus,
92
+ onBlur = props.onBlur,
93
+ onChange = props.onChange,
94
+ onScroll = props.onScroll,
95
+ maxInputRows = props.maxInputRows,
96
+ _props$translations = props.translations,
97
+ translations = _props$translations === void 0 ? {
61
98
  save: 'Save',
62
99
  cancel: 'Cancel'
63
- },
64
- ...restProps
65
- } = props;
66
- const [shortcutsScope] = React.useState(getUID('ring-editable-heading-'));
67
- const [isInFocus, setIsInFocus] = React.useState(false);
68
- const [isMouseDown, setIsMouseDown] = React.useState(false);
69
- const [isInSelectionMode, setIsInSelectionMode] = React.useState(false);
70
- const textAreaRef = React.useRef(null);
71
- const [isScrolledToBottom, setIsScrolledToBottom] = React.useState(false);
72
- const [isOverflow, setIsOverflow] = React.useState(false);
73
- const hasError = error !== undefined;
74
- const isSaveDisabled = !isSavingPossible || !children || children.trim() === '' || hasError || isSaving;
75
- const isCancelDisabled = isSaving;
76
- const isShortcutsDisabled = !isInFocus || isSaving;
77
- const shortcutsMap = React.useMemo(() => {
78
- const map = {};
100
+ } : _props$translations,
101
+ restProps = _objectWithoutProperties(props, _excluded);
102
+ var _React$useState = React.useState(getUID('ring-editable-heading-')),
103
+ _React$useState2 = _slicedToArray(_React$useState, 1),
104
+ shortcutsScope = _React$useState2[0];
105
+ var _React$useState3 = React.useState(false),
106
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
107
+ isInFocus = _React$useState4[0],
108
+ setIsInFocus = _React$useState4[1];
109
+ var _React$useState5 = React.useState(false),
110
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
111
+ isMouseDown = _React$useState6[0],
112
+ setIsMouseDown = _React$useState6[1];
113
+ var _React$useState7 = React.useState(false),
114
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
115
+ isInSelectionMode = _React$useState8[0],
116
+ setIsInSelectionMode = _React$useState8[1];
117
+ var textAreaRef = React.useRef(null);
118
+ var _React$useState9 = React.useState(false),
119
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
120
+ isScrolledToBottom = _React$useState10[0],
121
+ setIsScrolledToBottom = _React$useState10[1];
122
+ var _React$useState11 = React.useState(false),
123
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
124
+ isOverflow = _React$useState12[0],
125
+ setIsOverflow = _React$useState12[1];
126
+ var hasError = error !== undefined;
127
+ var isSaveDisabled = !isSavingPossible || !children || children.trim() === '' || hasError || isSaving;
128
+ var isCancelDisabled = isSaving;
129
+ var isShortcutsDisabled = !isInFocus || isSaving;
130
+ var shortcutsMap = React.useMemo(function () {
131
+ var map = {};
79
132
  if (!isSaveDisabled) {
80
133
  map.enter = onSave;
81
134
  }
@@ -84,7 +137,7 @@ const EditableHeading = props => {
84
137
  }
85
138
  return map;
86
139
  }, [isSaveDisabled, isCancelDisabled, onSave, onCancel]);
87
- const classes = classNames(modules_6e69b0fe.editableHeading, className, {
140
+ var classes = classNames(modules_6e69b0fe.editableHeading, className, {
88
141
  [modules_6e69b0fe.fullSize]: isEditing && size === Size.FULL,
89
142
  [modules_6e69b0fe.isEditing]: isEditing,
90
143
  [modules_6e69b0fe.error]: hasError,
@@ -92,72 +145,71 @@ const EditableHeading = props => {
92
145
  [modules_6e69b0fe.multiline]: multiline,
93
146
  [modules_6e69b0fe.selectionMode]: isInSelectionMode
94
147
  });
95
- const headingClasses = classNames(modules_6e69b0fe.heading, headingClassName, modules_6e69b0fe[`size${size}`]);
96
- const inputClasses = classNames('ring-js-shortcuts', modules_6e69b0fe.input, modules_6e69b0fe.textarea, {
148
+ var headingClasses = classNames(modules_6e69b0fe.heading, headingClassName, modules_6e69b0fe["size".concat(size)]);
149
+ var inputClasses = classNames('ring-js-shortcuts', modules_6e69b0fe.input, modules_6e69b0fe.textarea, {
97
150
  [modules_6e69b0fe.textareaNotOverflow]: !isOverflow
98
- }, modules_88cfaf40[`size${size}`], modules_6e69b0fe[`level${level}`], inputClassName);
99
- const stretch = useCallback(el => {
151
+ }, modules_88cfaf40["size".concat(size)], modules_6e69b0fe["level".concat(level)], inputClassName);
152
+ var stretch = useCallback(function (el) {
100
153
  if (!el || !el.style) {
101
154
  return;
102
155
  }
103
156
  el.style.height = '0';
104
- const {
105
- paddingTop,
106
- paddingBottom
107
- } = window.getComputedStyle(el);
108
- el.style.height = `${el.scrollHeight - parseFloat(paddingTop) - parseFloat(paddingBottom)}px`;
157
+ var _window$getComputedSt = window.getComputedStyle(el),
158
+ paddingTop = _window$getComputedSt.paddingTop,
159
+ paddingBottom = _window$getComputedSt.paddingBottom;
160
+ el.style.height = "".concat(el.scrollHeight - parseFloat(paddingTop) - parseFloat(paddingBottom), "px");
109
161
  }, []);
110
- const checkValue = useCallback(el => {
162
+ var checkValue = useCallback(function (el) {
111
163
  if (multiline && el != null && el.scrollHeight >= el.clientHeight) {
112
164
  stretch(el);
113
165
  }
114
166
  }, [stretch, multiline]);
115
- const checkOverflow = useCallback(el => {
116
- const scrollHeight = el.scrollHeight || 0;
117
- const clientHeight = el.clientHeight || 0;
118
- const scrollTop = el.scrollTop || 0;
167
+ var checkOverflow = useCallback(function (el) {
168
+ var scrollHeight = el.scrollHeight || 0;
169
+ var clientHeight = el.clientHeight || 0;
170
+ var scrollTop = el.scrollTop || 0;
119
171
  setIsScrolledToBottom(scrollHeight - clientHeight <= scrollTop);
120
172
  setIsOverflow(scrollHeight > clientHeight);
121
173
  }, [setIsScrolledToBottom]);
122
- const onHeadingMouseDown = React.useCallback(() => {
174
+ var onHeadingMouseDown = React.useCallback(function () {
123
175
  setIsMouseDown(true);
124
176
  }, []);
125
- const onMouseMove = React.useCallback(() => {
177
+ var onMouseMove = React.useCallback(function () {
126
178
  if (!isMouseDown) {
127
179
  return;
128
180
  }
129
181
  setIsInSelectionMode(true);
130
182
  }, [isMouseDown]);
131
- const onMouseUp = React.useCallback(() => {
183
+ var onMouseUp = React.useCallback(function () {
132
184
  if (isMouseDown && !isInSelectionMode && !disabled) {
133
185
  onEdit();
134
186
  }
135
187
  setIsMouseDown(false);
136
188
  setIsInSelectionMode(false);
137
189
  }, [isMouseDown, isInSelectionMode, disabled, onEdit]);
138
- const onInputFocus = React.useCallback(e => {
190
+ var onInputFocus = React.useCallback(function (e) {
139
191
  setIsInFocus(true);
140
192
  checkValue(e.target);
141
193
  checkOverflow(e.target);
142
- onFocus?.(e);
194
+ onFocus === null || onFocus === void 0 || onFocus(e);
143
195
  }, [onFocus, checkOverflow, checkValue]);
144
- const onInputChange = React.useCallback(e => {
196
+ var onInputChange = React.useCallback(function (e) {
145
197
  checkValue(e.target);
146
198
  checkOverflow(e.target);
147
- onChange?.(e);
199
+ onChange === null || onChange === void 0 || onChange(e);
148
200
  }, [onChange, checkOverflow, checkValue]);
149
- const onInputScroll = React.useCallback(e => {
201
+ var onInputScroll = React.useCallback(function (e) {
150
202
  checkOverflow(e.target);
151
- onScroll?.(e);
203
+ onScroll === null || onScroll === void 0 || onScroll(e);
152
204
  }, [onScroll, checkOverflow]);
153
- const onInputBlur = React.useCallback(e => {
205
+ var onInputBlur = React.useCallback(function (e) {
154
206
  setIsInFocus(false);
155
- onBlur?.(e);
207
+ onBlur === null || onBlur === void 0 || onBlur(e);
156
208
  }, [onBlur]);
157
- useEffect(() => {
209
+ useEffect(function () {
158
210
  window.addEventListener('mousemove', onMouseMove);
159
211
  window.addEventListener('mouseup', onMouseUp);
160
- return () => {
212
+ return function () {
161
213
  window.removeEventListener('mousemove', onMouseMove);
162
214
  window.removeEventListener('mouseup', onMouseUp);
163
215
  };
@@ -179,7 +231,7 @@ const EditableHeading = props => {
179
231
  onFocus: onInputFocus,
180
232
  onBlur: onInputBlur
181
233
  })) : /*#__PURE__*/React.createElement("div", {
182
- className: classNames(modules_6e69b0fe.textareaWrapper, modules_88cfaf40[`size${size}`])
234
+ className: classNames(modules_6e69b0fe.textareaWrapper, modules_88cfaf40["size".concat(size)])
183
235
  }, /*#__PURE__*/React.createElement("textarea", _extends({
184
236
  ref: textAreaRef,
185
237
  className: inputClasses,
@@ -193,7 +245,7 @@ const EditableHeading = props => {
193
245
  onBlur: onInputBlur,
194
246
  onScroll: onInputScroll,
195
247
  style: {
196
- maxHeight: maxInputRows ? `${maxInputRows}lh` : ''
248
+ maxHeight: maxInputRows ? "".concat(maxInputRows, "lh") : ''
197
249
  }
198
250
  })), !isScrolledToBottom && /*#__PURE__*/React.createElement("div", {
199
251
  className: modules_6e69b0fe.textareaFade
@@ -216,7 +268,7 @@ const EditableHeading = props => {
216
268
  disabled: isCancelDisabled,
217
269
  onClick: onCancel
218
270
  }, translations.cancel))), isEditing && error && /*#__PURE__*/React.createElement("div", {
219
- className: classNames(modules_6e69b0fe.errorText, modules_88cfaf40[`size${size}`])
271
+ className: classNames(modules_6e69b0fe.errorText, modules_88cfaf40["size".concat(size)])
220
272
  }, error));
221
273
  };
222
274
  var editableHeading = /*#__PURE__*/React.memo(EditableHeading);