@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,4 +1,6 @@
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';
3
+ import 'core-js/modules/es.object.values.js';
2
4
  import React, { PureComponent } from 'react';
3
5
  import PropTypes from 'prop-types';
4
6
  import classNames from 'classnames';
@@ -19,10 +21,23 @@ import '../icon/icon__constants.js';
19
21
  import 'util-deprecate';
20
22
  import '../_helpers/icon.js';
21
23
  import '../icon/icon__svg.js';
24
+ import 'core-js/modules/es.regexp.exec.js';
25
+ import 'core-js/modules/es.string.replace.js';
26
+ import 'core-js/modules/es.string.starts-with.js';
22
27
  import '../global/memoize.js';
28
+ import 'core-js/modules/es.array.iterator.js';
29
+ import 'core-js/modules/es.map.js';
30
+ import 'core-js/modules/es.object.to-string.js';
31
+ import 'core-js/modules/es.string.iterator.js';
32
+ import 'core-js/modules/web.dom-collections.iterator.js';
33
+ import 'core-js/modules/es.weak-map.js';
34
+ import 'core-js/modules/es.regexp.to-string.js';
23
35
  import '../i18n/i18n.js';
36
+ import 'core-js/modules/es.set.js';
37
+ import 'core-js/modules/web.dom-collections.for-each.js';
24
38
  import '../_helpers/control-label.js';
25
39
 
40
+ var _excluded = ["size", "active", "multiline", "borderless", "label", "labelType", "error", "className", "inputClassName", "children", "value", "onClear", "disabled", "inputRef", "onChange", "enableShortcuts", "id", "placeholder", "icon", "translations", "height", "afterInput"];
26
41
  function noop() {}
27
42
  /**
28
43
  * @name Input
@@ -35,158 +50,182 @@ var Size;
35
50
  Size["L"] = "L";
36
51
  Size["FULL"] = "FULL";
37
52
  })(Size || (Size = {}));
38
- class Input extends PureComponent {
39
- static defaultProps = {
40
- size: Size.M,
41
- onChange: noop,
42
- inputRef: noop,
43
- enableShortcuts: ['esc']
44
- };
45
- state = {
46
- empty: true
47
- };
48
- componentDidMount() {
49
- this.frame = requestAnimationFrame(() => this.adapt());
50
- }
51
- componentDidUpdate() {
52
- this.adapt();
53
- }
54
- componentWillUnmount() {
55
- if (this.frame != null) {
56
- cancelAnimationFrame(this.frame);
53
+ var Input = /*#__PURE__*/function (_PureComponent) {
54
+ _inherits(Input, _PureComponent);
55
+ var _super = _createSuper(Input);
56
+ function Input() {
57
+ var _this;
58
+ _classCallCheck(this, Input);
59
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
60
+ args[_key] = arguments[_key];
57
61
  }
58
- }
59
- static contextType = ControlsHeightContext;
60
- frame;
61
- input;
62
- id = getUID('ring-input-');
63
- getId() {
64
- return this.props.id || this.id;
65
- }
66
- checkValue() {
67
- this.setState({
68
- empty: !this.input?.value
62
+ _this = _super.call.apply(_super, [this].concat(args));
63
+ _defineProperty(_assertThisInitialized(_this), "state", {
64
+ empty: true
69
65
  });
70
- if (this.props.multiline && this.input != null && this.input.scrollHeight >= this.input.clientHeight) {
71
- this.stretch(this.input);
72
- }
66
+ _defineProperty(_assertThisInitialized(_this), "frame", void 0);
67
+ _defineProperty(_assertThisInitialized(_this), "input", void 0);
68
+ _defineProperty(_assertThisInitialized(_this), "id", getUID('ring-input-'));
69
+ _defineProperty(_assertThisInitialized(_this), "inputRef", function (el) {
70
+ _this.input = el;
71
+ });
72
+ _defineProperty(_assertThisInitialized(_this), "clear", function (e) {
73
+ _this.props.onClear && _this.props.onClear(e);
74
+ });
75
+ _defineProperty(_assertThisInitialized(_this), "handleInputChange", function (e) {
76
+ if (!_this.props.multiline) {
77
+ var _this$props$onChange, _this$props;
78
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, e);
79
+ _this.checkValue();
80
+ }
81
+ });
82
+ _defineProperty(_assertThisInitialized(_this), "handleTextareaChange", function (e) {
83
+ if (_this.props.multiline) {
84
+ var _this$props$onChange2, _this$props2;
85
+ (_this$props$onChange2 = (_this$props2 = _this.props).onChange) === null || _this$props$onChange2 === void 0 ? void 0 : _this$props$onChange2.call(_this$props2, e);
86
+ _this.checkValue();
87
+ }
88
+ });
89
+ return _this;
73
90
  }
74
- stretch(el) {
75
- if (!el || !el.style) {
76
- return;
91
+ _createClass(Input, [{
92
+ key: "componentDidMount",
93
+ value: function componentDidMount() {
94
+ var _this2 = this;
95
+ this.frame = requestAnimationFrame(function () {
96
+ return _this2.adapt();
97
+ });
77
98
  }
78
- el.style.height = '0'; // To know the real scrollHeight
79
- el.style.height = `${el.scrollHeight + 2}px`;
80
- }
81
- adapt() {
82
- this.checkValue();
83
- }
84
- inputRef = el => {
85
- this.input = el;
86
- };
87
- clear = e => {
88
- this.props.onClear && this.props.onClear(e);
89
- };
90
- handleInputChange = e => {
91
- if (!this.props.multiline) {
92
- this.props.onChange?.(e);
93
- this.checkValue();
99
+ }, {
100
+ key: "componentDidUpdate",
101
+ value: function componentDidUpdate() {
102
+ this.adapt();
103
+ }
104
+ }, {
105
+ key: "componentWillUnmount",
106
+ value: function componentWillUnmount() {
107
+ if (this.frame != null) {
108
+ cancelAnimationFrame(this.frame);
109
+ }
110
+ }
111
+ }, {
112
+ key: "getId",
113
+ value: function getId() {
114
+ return this.props.id || this.id;
115
+ }
116
+ }, {
117
+ key: "checkValue",
118
+ value: function checkValue() {
119
+ var _this$input;
120
+ this.setState({
121
+ empty: !((_this$input = this.input) !== null && _this$input !== void 0 && _this$input.value)
122
+ });
123
+ if (this.props.multiline && this.input != null && this.input.scrollHeight >= this.input.clientHeight) {
124
+ this.stretch(this.input);
125
+ }
94
126
  }
95
- };
96
- handleTextareaChange = e => {
97
- if (this.props.multiline) {
98
- this.props.onChange?.(e);
127
+ }, {
128
+ key: "stretch",
129
+ value: function stretch(el) {
130
+ if (!el || !el.style) {
131
+ return;
132
+ }
133
+ el.style.height = '0'; // To know the real scrollHeight
134
+ el.style.height = "".concat(el.scrollHeight + 2, "px");
135
+ }
136
+ }, {
137
+ key: "adapt",
138
+ value: function adapt() {
99
139
  this.checkValue();
100
140
  }
101
- };
102
- render() {
103
- const {
104
- // Modifiers
105
- size,
106
- active,
107
- multiline,
108
- borderless,
109
- // Props
110
- label,
111
- labelType,
112
- error,
113
- className,
114
- inputClassName,
115
- children,
116
- value,
117
- onClear,
118
- disabled,
119
- inputRef,
120
- onChange,
121
- enableShortcuts,
122
- id,
123
- placeholder,
124
- icon,
125
- translations,
126
- height = this.context,
127
- afterInput,
128
- ...restProps
129
- } = this.props;
130
- const {
131
- empty
132
- } = this.state;
133
- const clearable = !!onClear;
134
- const classes = classNames(className, modules_88cfaf40.outerContainer, [modules_88cfaf40[`size${size}`]], [modules_88cfaf40[`height${height}`]], {
135
- 'ring-js-shortcuts': enableShortcuts === true,
136
- [modules_88cfaf40.active]: active,
137
- [modules_88cfaf40.error]: error != null,
138
- [modules_88cfaf40.empty]: empty,
139
- [modules_88cfaf40.noLabel]: !this.props.label,
140
- [modules_88cfaf40.withIcon]: icon != null,
141
- [modules_88cfaf40.clearable]: clearable,
142
- [modules_88cfaf40.borderless]: borderless
143
- });
144
- const inputClasses = classNames(modules_88cfaf40.input, inputClassName);
145
- const text = value != null ? value : children;
146
- const commonProps = {
147
- ref: composeRefs(this.inputRef, inputRef),
148
- className: inputClasses,
149
- value: text,
150
- disabled,
151
- id: this.getId(),
152
- placeholder,
153
- 'aria-label': typeof label === 'string' && label ? label : placeholder,
154
- 'data-enabled-shortcuts': Array.isArray(enableShortcuts) ? enableShortcuts.join(',') : null
155
- };
156
- return /*#__PURE__*/React.createElement(I18nContext.Consumer, null, _ref => {
157
- var _translations$clear;
158
- let {
159
- translate
160
- } = _ref;
161
- return /*#__PURE__*/React.createElement("div", {
162
- className: classes,
163
- "data-test": "ring-input"
164
- }, label && /*#__PURE__*/React.createElement(ControlLabel, {
165
- htmlFor: this.getId(),
141
+ }, {
142
+ key: "render",
143
+ value: function render() {
144
+ var _classNames,
145
+ _this3 = this;
146
+ var _this$props3 = this.props,
147
+ size = _this$props3.size,
148
+ active = _this$props3.active,
149
+ multiline = _this$props3.multiline,
150
+ borderless = _this$props3.borderless,
151
+ label = _this$props3.label,
152
+ labelType = _this$props3.labelType,
153
+ error = _this$props3.error,
154
+ className = _this$props3.className,
155
+ inputClassName = _this$props3.inputClassName,
156
+ children = _this$props3.children,
157
+ value = _this$props3.value,
158
+ onClear = _this$props3.onClear,
159
+ disabled = _this$props3.disabled,
160
+ inputRef = _this$props3.inputRef;
161
+ _this$props3.onChange;
162
+ var enableShortcuts = _this$props3.enableShortcuts;
163
+ _this$props3.id;
164
+ var placeholder = _this$props3.placeholder,
165
+ icon = _this$props3.icon,
166
+ translations = _this$props3.translations,
167
+ _this$props3$height = _this$props3.height,
168
+ height = _this$props3$height === void 0 ? this.context : _this$props3$height,
169
+ afterInput = _this$props3.afterInput,
170
+ restProps = _objectWithoutProperties(_this$props3, _excluded);
171
+ var empty = this.state.empty;
172
+ var clearable = !!onClear;
173
+ var classes = classNames(className, modules_88cfaf40.outerContainer, [modules_88cfaf40["size".concat(size)]], [modules_88cfaf40["height".concat(height)]], (_classNames = {
174
+ 'ring-js-shortcuts': enableShortcuts === true
175
+ }, _defineProperty(_classNames, modules_88cfaf40.active, active), _defineProperty(_classNames, modules_88cfaf40.error, error != null), _defineProperty(_classNames, modules_88cfaf40.empty, empty), _defineProperty(_classNames, modules_88cfaf40.noLabel, !this.props.label), _defineProperty(_classNames, modules_88cfaf40.withIcon, icon != null), _defineProperty(_classNames, modules_88cfaf40.clearable, clearable), _defineProperty(_classNames, modules_88cfaf40.borderless, borderless), _classNames));
176
+ var inputClasses = classNames(modules_88cfaf40.input, inputClassName);
177
+ var text = value != null ? value : children;
178
+ var commonProps = {
179
+ ref: composeRefs(this.inputRef, inputRef),
180
+ className: inputClasses,
181
+ value: text,
166
182
  disabled: disabled,
167
- type: labelType
168
- }, label), /*#__PURE__*/React.createElement("div", {
169
- className: modules_88cfaf40.container
170
- }, icon && /*#__PURE__*/React.createElement(Icon, {
171
- glyph: icon,
172
- className: modules_88cfaf40.icon
173
- }), multiline ? /*#__PURE__*/React.createElement("textarea", _extends({
174
- onChange: this.handleTextareaChange,
175
- rows: 1
176
- }, commonProps, restProps)) : /*#__PURE__*/React.createElement("input", _extends({
177
- onChange: this.handleInputChange
178
- }, commonProps, restProps)), clearable && !disabled && /*#__PURE__*/React.createElement(Button, {
179
- title: (_translations$clear = translations?.clear) !== null && _translations$clear !== void 0 ? _translations$clear : translate('clear'),
180
- "data-test": "ring-input-clear",
181
- className: modules_88cfaf40.clear,
182
- icon: closeIcon,
183
- onClick: this.clear
184
- }), afterInput), error && /*#__PURE__*/React.createElement("div", {
185
- className: modules_88cfaf40.errorText
186
- }, error));
187
- });
188
- }
189
- }
183
+ id: this.getId(),
184
+ placeholder: placeholder,
185
+ 'aria-label': typeof label === 'string' && label ? label : placeholder,
186
+ 'data-enabled-shortcuts': Array.isArray(enableShortcuts) ? enableShortcuts.join(',') : null
187
+ };
188
+ return /*#__PURE__*/React.createElement(I18nContext.Consumer, null, function (_ref) {
189
+ var _translations$clear;
190
+ var translate = _ref.translate;
191
+ return /*#__PURE__*/React.createElement("div", {
192
+ className: classes,
193
+ "data-test": "ring-input"
194
+ }, label && /*#__PURE__*/React.createElement(ControlLabel, {
195
+ htmlFor: _this3.getId(),
196
+ disabled: disabled,
197
+ type: labelType
198
+ }, label), /*#__PURE__*/React.createElement("div", {
199
+ className: modules_88cfaf40.container
200
+ }, icon && /*#__PURE__*/React.createElement(Icon, {
201
+ glyph: icon,
202
+ className: modules_88cfaf40.icon
203
+ }), multiline ? /*#__PURE__*/React.createElement("textarea", _extends({
204
+ onChange: _this3.handleTextareaChange,
205
+ rows: 1
206
+ }, commonProps, restProps)) : /*#__PURE__*/React.createElement("input", _extends({
207
+ onChange: _this3.handleInputChange
208
+ }, commonProps, restProps)), clearable && !disabled && /*#__PURE__*/React.createElement(Button, {
209
+ title: (_translations$clear = translations === null || translations === void 0 ? void 0 : translations.clear) !== null && _translations$clear !== void 0 ? _translations$clear : translate('clear'),
210
+ "data-test": "ring-input-clear",
211
+ className: modules_88cfaf40.clear,
212
+ icon: closeIcon,
213
+ onClick: _this3.clear
214
+ }), afterInput), error && /*#__PURE__*/React.createElement("div", {
215
+ className: modules_88cfaf40.errorText
216
+ }, error));
217
+ });
218
+ }
219
+ }]);
220
+ return Input;
221
+ }(PureComponent);
222
+ _defineProperty(Input, "defaultProps", {
223
+ size: Size.M,
224
+ onChange: noop,
225
+ inputRef: noop,
226
+ enableShortcuts: ['esc']
227
+ });
228
+ _defineProperty(Input, "contextType", ControlsHeightContext);
190
229
  Input.propTypes = {
191
230
  value: PropTypes.string,
192
231
  className: PropTypes.string,
@@ -1,3 +1,5 @@
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, _ as _createClass } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
1
3
  import angular from 'angular';
2
4
  import classNames from 'classnames';
3
5
  import closeIcon from '@jetbrains/icons/close';
@@ -5,8 +7,24 @@ import RingAngularComponent from '../global/ring-angular-component.js';
5
7
  import { m as modules_88cfaf40 } from '../_helpers/input.js';
6
8
  import { m as modules_9eb96a10 } from '../_helpers/control-label.js';
7
9
  import ButtonNG from '../button-ng/button-ng.js';
10
+ import 'core-js/modules/es.object.to-string.js';
11
+ import 'core-js/modules/web.dom-collections.for-each.js';
12
+ import 'core-js/modules/es.array.reduce.js';
13
+ import 'core-js/modules/es.object.values.js';
14
+ import 'core-js/modules/es.array.filter.js';
8
15
  import '../global/dom.js';
16
+ import 'core-js/modules/es.object.assign.js';
17
+ import 'core-js/modules/es.regexp.exec.js';
18
+ import 'core-js/modules/es.string.split.js';
19
+ import 'core-js/modules/es.object.entries.js';
20
+ import 'core-js/modules/es.object.keys.js';
21
+ import 'core-js/modules/es.array.iterator.js';
22
+ import 'core-js/modules/es.set.js';
23
+ import 'core-js/modules/es.string.iterator.js';
24
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
25
  import '../icon-ng/icon-ng.js';
26
+ import 'core-js/modules/es.array.index-of.js';
27
+ import 'core-js/modules/es.string.replace.js';
10
28
  import '../icon/icon__constants.js';
11
29
  import '../template-ng/template-ng.js';
12
30
  import '../_helpers/icon.js';
@@ -16,129 +34,89 @@ import 'react';
16
34
 
17
35
  var modules_c40fa551 = {"errorText":"errorText_rui_d15a","clear":"clear_rui_d15a"};
18
36
 
19
- const angularModule = angular.module('Ring.input', [ButtonNG]);
20
- class RingInputComponent extends RingAngularComponent {
21
- static require = {
22
- ngModelCtrl: '?ngModel'
23
- };
24
- static bindings = {
25
- name: '@',
26
- required: '@',
27
- ngMinlength: '@',
28
- ngMaxlength: '@',
29
- placeholder: '@',
30
- ngModel: '<',
31
- onChange: '&',
32
- label: '@',
33
- hint: '@',
34
- size: '@',
35
- disabled: '@',
36
- active: '<',
37
- error: '@',
38
- empty: '<',
39
- clearable: '<',
40
- borderless: '<',
41
- multiline: '<'
42
- };
43
- $onInit() {
44
- this.closeIcon = closeIcon;
45
- if (!this.ngModelCtrl) {
46
- return;
47
- }
48
- this.ngModelCtrl.$render = () => {
49
- this.value = this.ngModelCtrl.$viewValue;
50
- };
37
+ var angularModule = angular.module('Ring.input', [ButtonNG]);
38
+ var RingInputComponent = /*#__PURE__*/function (_RingAngularComponent) {
39
+ _inherits(RingInputComponent, _RingAngularComponent);
40
+ var _super = _createSuper(RingInputComponent);
41
+ function RingInputComponent() {
42
+ _classCallCheck(this, RingInputComponent);
43
+ return _super.apply(this, arguments);
51
44
  }
52
- onInputChange() {
53
- if (!this.ngModelCtrl) {
54
- return;
45
+ _createClass(RingInputComponent, [{
46
+ key: "$onInit",
47
+ value: function $onInit() {
48
+ var _this = this;
49
+ this.closeIcon = closeIcon;
50
+ if (!this.ngModelCtrl) {
51
+ return;
52
+ }
53
+ this.ngModelCtrl.$render = function () {
54
+ _this.value = _this.ngModelCtrl.$viewValue;
55
+ };
55
56
  }
56
- this.ngModelCtrl.$setViewValue(this.value);
57
- }
58
- stretch(el) {
59
- if (!el) {
60
- return;
57
+ }, {
58
+ key: "onInputChange",
59
+ value: function onInputChange() {
60
+ if (!this.ngModelCtrl) {
61
+ return;
62
+ }
63
+ this.ngModelCtrl.$setViewValue(this.value);
61
64
  }
62
- el.style.height = `${el.scrollHeight}px`;
63
- }
64
- onKeyUp() {
65
- if (!this.inputNode) {
66
- this.inputNode = this.$inject.$element[0].querySelector('[data-test="ring-input"]');
65
+ }, {
66
+ key: "stretch",
67
+ value: function stretch(el) {
68
+ if (!el) {
69
+ return;
70
+ }
71
+ el.style.height = "".concat(el.scrollHeight, "px");
67
72
  }
68
- if (this.multiline && this.inputNode.scrollHeight > this.inputNode.clientHeight) {
69
- this.stretch(this.inputNode);
73
+ }, {
74
+ key: "onKeyUp",
75
+ value: function onKeyUp() {
76
+ if (!this.inputNode) {
77
+ this.inputNode = this.$inject.$element[0].querySelector('[data-test="ring-input"]');
78
+ }
79
+ if (this.multiline && this.inputNode.scrollHeight > this.inputNode.clientHeight) {
80
+ this.stretch(this.inputNode);
81
+ }
70
82
  }
71
- }
72
- onClear() {
73
- this.value = '';
74
- }
75
- getContainerClasses() {
76
- return classNames(modules_88cfaf40.outerContainer, this.size ? [modules_88cfaf40[`size${this.size}`]] : null, modules_88cfaf40.heightS, {
77
- [modules_88cfaf40.active]: this.active,
78
- [modules_88cfaf40.error]: this.error != null,
79
- [modules_88cfaf40.empty]: !this.value,
80
- [modules_88cfaf40.noLabel]: !this.label,
81
- [modules_88cfaf40.clearable]: this.clearable,
82
- [modules_88cfaf40.borderless]: this.borderless
83
- });
84
- }
85
- static template = `
86
- <div
87
- data-test="ring-input-container"
88
- ng-class="$ctrl.getContainerClasses()"
89
- >
90
- <label
91
- ng-if="!$ctrl.borderless"
92
- class="${modules_9eb96a10.label} ${modules_9eb96a10.secondaryLabel}"
93
- >{{$ctrl.label}}</label>
94
- <div class="${modules_88cfaf40.container}">
95
- <input
96
- aria-label="{{$ctrl.label || $ctrl.placeholder}}"
97
- type="text"
98
- data-test="ring-input"
99
- class="${modules_88cfaf40.input}"
100
- name="{{$ctrl.name}}"
101
- ng-if="!$ctrl.multiline"
102
- placeholder="{{$ctrl.placeholder}}"
103
- ng-model="$ctrl.value"
104
- ng-required="$ctrl.required"
105
- ng-disabled="$ctrl.disabled"
106
- ng-minlength="$ctrl.ngMinlength"
107
- ng-maxlength="$ctrl.ngMaxlength"
108
- ng-change="$ctrl.onInputChange()"
109
- ng-keyup="$ctrl.onKeyUp()"
110
- />
111
-
112
- <textarea
113
- aria-label="{{$ctrl.label || $ctrl.placeholder}}"
114
- data-test="ring-input"
115
- ng-if="$ctrl.multiline"
116
- class="${modules_88cfaf40.input}"
117
- rows="1"
118
- name="{{$ctrl.name}}"
119
- placeholder="{{$ctrl.placeholder}}"
120
- ng-model="$ctrl.value"
121
- ng-required="$ctrl.required"
122
- ng-disabled="$ctrl.disabled"
123
- ng-minlength="$ctrl.ngMinlength"
124
- ng-maxlength="$ctrl.ngMaxlength"
125
- ng-change="$ctrl.onInputChange()"
126
- ng-keyup="$ctrl.onKeyUp()"
127
- ></textarea>
128
-
129
- <rg-button
130
- ng-if="$ctrl.clearable"
131
- data-test="ring-input-clear"
132
- class="${modules_88cfaf40.clear} ${modules_c40fa551.clear}"
133
- icon="{{:: $ctrl.closeIcon}}"
134
- ng-click="$ctrl.onClear()"
135
- ></rg-button>
136
- </div>
137
-
138
- <div ng-if="!$ctrl.borderless && $ctrl.error" class="${modules_88cfaf40.errorText} ${modules_c40fa551.errorText}">{{$ctrl.error}}</div>
139
- </div>
140
- `;
141
- }
83
+ }, {
84
+ key: "onClear",
85
+ value: function onClear() {
86
+ this.value = '';
87
+ }
88
+ }, {
89
+ key: "getContainerClasses",
90
+ value: function getContainerClasses() {
91
+ var _classNames;
92
+ return classNames(modules_88cfaf40.outerContainer, this.size ? [modules_88cfaf40["size".concat(this.size)]] : null, modules_88cfaf40.heightS, (_classNames = {}, _defineProperty(_classNames, modules_88cfaf40.active, this.active), _defineProperty(_classNames, modules_88cfaf40.error, this.error != null), _defineProperty(_classNames, modules_88cfaf40.empty, !this.value), _defineProperty(_classNames, modules_88cfaf40.noLabel, !this.label), _defineProperty(_classNames, modules_88cfaf40.clearable, this.clearable), _defineProperty(_classNames, modules_88cfaf40.borderless, this.borderless), _classNames));
93
+ }
94
+ }]);
95
+ return RingInputComponent;
96
+ }(RingAngularComponent);
97
+ _defineProperty(RingInputComponent, "require", {
98
+ ngModelCtrl: '?ngModel'
99
+ });
100
+ _defineProperty(RingInputComponent, "bindings", {
101
+ name: '@',
102
+ required: '@',
103
+ ngMinlength: '@',
104
+ ngMaxlength: '@',
105
+ placeholder: '@',
106
+ ngModel: '<',
107
+ onChange: '&',
108
+ label: '@',
109
+ hint: '@',
110
+ size: '@',
111
+ disabled: '@',
112
+ active: '<',
113
+ error: '@',
114
+ empty: '<',
115
+ clearable: '<',
116
+ borderless: '<',
117
+ multiline: '<'
118
+ });
119
+ _defineProperty(RingInputComponent, "template", "\n<div\n data-test=\"ring-input-container\"\n ng-class=\"$ctrl.getContainerClasses()\"\n>\n <label\n ng-if=\"!$ctrl.borderless\"\n class=\"".concat(modules_9eb96a10.label, " ").concat(modules_9eb96a10.secondaryLabel, "\"\n >{{$ctrl.label}}</label>\n <div class=\"").concat(modules_88cfaf40.container, "\">\n <input\n aria-label=\"{{$ctrl.label || $ctrl.placeholder}}\"\n type=\"text\"\n data-test=\"ring-input\"\n class=\"").concat(modules_88cfaf40.input, "\"\n name=\"{{$ctrl.name}}\"\n ng-if=\"!$ctrl.multiline\"\n placeholder=\"{{$ctrl.placeholder}}\"\n ng-model=\"$ctrl.value\"\n ng-required=\"$ctrl.required\"\n ng-disabled=\"$ctrl.disabled\"\n ng-minlength=\"$ctrl.ngMinlength\"\n ng-maxlength=\"$ctrl.ngMaxlength\"\n ng-change=\"$ctrl.onInputChange()\"\n ng-keyup=\"$ctrl.onKeyUp()\"\n />\n\n <textarea\n aria-label=\"{{$ctrl.label || $ctrl.placeholder}}\"\n data-test=\"ring-input\"\n ng-if=\"$ctrl.multiline\"\n class=\"").concat(modules_88cfaf40.input, "\"\n rows=\"1\"\n name=\"{{$ctrl.name}}\"\n placeholder=\"{{$ctrl.placeholder}}\"\n ng-model=\"$ctrl.value\"\n ng-required=\"$ctrl.required\"\n ng-disabled=\"$ctrl.disabled\"\n ng-minlength=\"$ctrl.ngMinlength\"\n ng-maxlength=\"$ctrl.ngMaxlength\"\n ng-change=\"$ctrl.onInputChange()\"\n ng-keyup=\"$ctrl.onKeyUp()\"\n ></textarea>\n\n <rg-button\n ng-if=\"$ctrl.clearable\"\n data-test=\"ring-input-clear\"\n class=\"").concat(modules_88cfaf40.clear, " ").concat(modules_c40fa551.clear, "\"\n icon=\"{{:: $ctrl.closeIcon}}\"\n ng-click=\"$ctrl.onClear()\"\n ></rg-button>\n </div>\n\n <div ng-if=\"!$ctrl.borderless && $ctrl.error\" class=\"").concat(modules_88cfaf40.errorText, " ").concat(modules_c40fa551.errorText, "\">{{$ctrl.error}}</div>\n</div>\n "));
142
120
  RingInputComponent.$inject = ['$element'];
143
121
  angularModule.component('rgInput', RingInputComponent);
144
122
  var InputNg = angularModule.name;