@jetbrains/ring-ui-built 6.0.30 → 6.0.32

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 (226) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +7 -629
  2. package/components/_helpers/anchor.js +7 -6
  3. package/components/_helpers/button__classes.js +16 -14
  4. package/components/_helpers/caption.js +14 -20
  5. package/components/_helpers/card.js +95 -105
  6. package/components/_helpers/dialog__body-scroll-preventer.js +11 -19
  7. package/components/_helpers/icon__svg.js +22 -25
  8. package/components/_helpers/input.js +146 -177
  9. package/components/_helpers/query-assist__suggestions.js +74 -90
  10. package/components/_helpers/select__filter.js +48 -69
  11. package/components/_helpers/services-link.js +29 -37
  12. package/components/_helpers/sidebar.js +99 -107
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +31 -40
  15. package/components/_helpers/title.js +57 -72
  16. package/components/alert/alert.js +150 -202
  17. package/components/alert/container.js +32 -41
  18. package/components/alert-service/alert-service.js +105 -170
  19. package/components/analytics/analytics.js +12 -22
  20. package/components/analytics/analytics__custom-plugin.js +54 -75
  21. package/components/auth/auth.js +4 -36
  22. package/components/auth/auth__core.js +746 -1471
  23. package/components/auth/background-flow.js +87 -127
  24. package/components/auth/down-notification.js +30 -73
  25. package/components/auth/iframe-flow.js +75 -133
  26. package/components/auth/request-builder.js +46 -82
  27. package/components/auth/response-parser.js +86 -116
  28. package/components/auth/storage.js +171 -334
  29. package/components/auth/token-validator.js +137 -242
  30. package/components/auth/window-flow.js +92 -134
  31. package/components/auth-dialog/auth-dialog.js +114 -172
  32. package/components/auth-dialog-service/auth-dialog-service.js +8 -31
  33. package/components/avatar/avatar-example-datauri.js +23 -1
  34. package/components/avatar/avatar.js +119 -152
  35. package/components/avatar/fallback-avatar.js +22 -38
  36. package/components/badge/badge.js +35 -45
  37. package/components/button/button.js +86 -107
  38. package/components/button-group/button-group.js +19 -33
  39. package/components/button-set/button-set.js +20 -32
  40. package/components/button-toolbar/button-toolbar.js +19 -31
  41. package/components/caret/caret.js +186 -220
  42. package/components/checkbox/checkbox.js +76 -101
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +35 -132
  45. package/components/code/code.js +92 -166
  46. package/components/collapse/collapse-content.js +42 -64
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +12 -14
  49. package/components/collapse/collapse.js +11 -17
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +1 -3
  52. package/components/confirm/confirm.js +66 -104
  53. package/components/confirm-service/confirm-service.js +37 -59
  54. package/components/content-layout/content-layout.js +43 -64
  55. package/components/content-layout/sidebar.js +0 -1
  56. package/components/contenteditable/contenteditable.js +50 -59
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +129 -182
  59. package/components/data-list/data-list.mock.js +2 -6
  60. package/components/data-list/item.js +143 -170
  61. package/components/data-list/selection.js +76 -136
  62. package/components/data-list/title.js +1 -12
  63. package/components/date-picker/consts.js +19 -26
  64. package/components/date-picker/date-input.js +113 -144
  65. package/components/date-picker/date-picker.js +227 -282
  66. package/components/date-picker/date-popup.js +350 -395
  67. package/components/date-picker/day.js +87 -116
  68. package/components/date-picker/month-names.js +43 -66
  69. package/components/date-picker/month-slider.js +51 -76
  70. package/components/date-picker/month.js +16 -25
  71. package/components/date-picker/months.js +43 -50
  72. package/components/date-picker/weekdays.js +12 -22
  73. package/components/date-picker/years.js +83 -110
  74. package/components/dialog/dialog.js +142 -190
  75. package/components/dialog/dialog__body-scroll-preventer.js +0 -4
  76. package/components/dropdown/anchor.js +0 -9
  77. package/components/dropdown/dropdown.js +182 -213
  78. package/components/dropdown-menu/dropdown-menu.js +71 -97
  79. package/components/editable-heading/editable-heading.js +75 -127
  80. package/components/error-bubble/error-bubble.js +31 -60
  81. package/components/error-message/error-message.js +39 -59
  82. package/components/footer/footer.js +27 -30
  83. package/components/global/compose.js +1 -10
  84. package/components/global/composeRefs.js +7 -12
  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 +6 -14
  88. package/components/global/dom.js +47 -86
  89. package/components/global/focus-sensor-hoc.js +122 -132
  90. package/components/global/fuzzy-highlight.js +22 -36
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +4 -8
  93. package/components/global/inject-styles.js +10 -15
  94. package/components/global/listeners.js +27 -51
  95. package/components/global/memoize.js +6 -12
  96. package/components/global/normalize-indent.js +19 -50
  97. package/components/global/promise-with-timeout.js +6 -8
  98. package/components/global/prop-types.js +3 -5
  99. package/components/global/react-dom-renderer.js +28 -44
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +12 -30
  102. package/components/global/schedule-raf.js +5 -6
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +0 -22
  105. package/components/global/trivial-template-tag.js +3 -10
  106. package/components/global/typescript-utils.js +2 -6
  107. package/components/global/url.js +20 -26
  108. package/components/global/use-event-callback.js +6 -4
  109. package/components/grid/col.js +35 -52
  110. package/components/grid/grid.js +17 -31
  111. package/components/grid/row.js +35 -47
  112. package/components/group/group.js +17 -25
  113. package/components/header/header.js +33 -78
  114. package/components/header/logo.js +20 -36
  115. package/components/header/profile.js +166 -199
  116. package/components/header/services-link.js +0 -4
  117. package/components/header/services.js +73 -116
  118. package/components/header/smart-profile.js +111 -203
  119. package/components/header/smart-services.js +62 -113
  120. package/components/header/tray-icon.js +21 -37
  121. package/components/header/tray.js +21 -32
  122. package/components/heading/heading.js +24 -25
  123. package/components/http/http.d.ts +1 -3
  124. package/components/http/http.js +203 -353
  125. package/components/http/http.mock.js +49 -101
  126. package/components/hub-source/hub-source.js +83 -190
  127. package/components/hub-source/hub-source__user.js +11 -44
  128. package/components/hub-source/hub-source__users-groups.js +37 -65
  129. package/components/i18n/i18n-context.js +7 -10
  130. package/components/i18n/i18n.js +7 -10
  131. package/components/icon/icon.js +76 -93
  132. package/components/icon/icon__svg.js +0 -8
  133. package/components/icon/index.js +0 -8
  134. package/components/input/input.js +0 -13
  135. package/components/island/adaptive-island-hoc.js +30 -43
  136. package/components/island/content.js +115 -132
  137. package/components/island/header.js +57 -70
  138. package/components/island/island.js +28 -40
  139. package/components/island-legacy/content-legacy.js +17 -25
  140. package/components/island-legacy/header-legacy.js +19 -27
  141. package/components/island-legacy/island-legacy.js +17 -25
  142. package/components/link/clickableLink.js +44 -59
  143. package/components/link/link.js +57 -68
  144. package/components/list/consts.js +2 -2
  145. package/components/list/list.js +611 -698
  146. package/components/list/list__custom.js +44 -62
  147. package/components/list/list__hint.js +10 -19
  148. package/components/list/list__item.js +133 -174
  149. package/components/list/list__link.js +37 -50
  150. package/components/list/list__separator.js +14 -24
  151. package/components/list/list__title.js +22 -32
  152. package/components/list/list__users-groups-source.js +54 -126
  153. package/components/loader/loader.js +43 -74
  154. package/components/loader/loader__core.js +198 -263
  155. package/components/loader-inline/loader-inline.js +23 -35
  156. package/components/loader-screen/loader-screen.js +25 -46
  157. package/components/login-dialog/login-dialog.js +111 -158
  158. package/components/login-dialog/service.js +8 -34
  159. package/components/markdown/markdown.js +15 -23
  160. package/components/message/message.js +161 -203
  161. package/components/old-browsers-message/old-browsers-message.js +11 -18
  162. package/components/old-browsers-message/old-browsers-message__stop.js +0 -7
  163. package/components/old-browsers-message/white-list.js +8 -16
  164. package/components/pager/pager.js +212 -271
  165. package/components/panel/panel.js +17 -25
  166. package/components/permissions/permissions.js +127 -172
  167. package/components/permissions/permissions__cache.js +194 -224
  168. package/components/popup/popup.consts.js +1 -1
  169. package/components/popup/popup.js +284 -343
  170. package/components/popup/popup.target.js +9 -8
  171. package/components/popup/position.js +96 -106
  172. package/components/popup-menu/popup-menu.js +44 -80
  173. package/components/progress-bar/progress-bar.js +87 -104
  174. package/components/query-assist/query-assist.js +838 -916
  175. package/components/query-assist/query-assist__suggestions.js +1 -30
  176. package/components/radio/radio.js +19 -34
  177. package/components/radio/radio__item.js +52 -69
  178. package/components/select/select.js +852 -957
  179. package/components/select/select__filter.js +0 -30
  180. package/components/select/select__popup.js +373 -487
  181. package/components/shortcuts/core.js +166 -217
  182. package/components/shortcuts/shortcut-title.js +6 -11
  183. package/components/shortcuts/shortcuts-hoc.js +19 -45
  184. package/components/shortcuts/shortcuts.js +50 -75
  185. package/components/slider/slider.js +99 -122
  186. package/components/slider/slider.utils.js +14 -24
  187. package/components/storage/storage.js +4 -33
  188. package/components/storage/storage__fallback.js +149 -224
  189. package/components/storage/storage__local.js +90 -153
  190. package/components/style.css +1 -1
  191. package/components/tab-trap/tab-trap.js +122 -153
  192. package/components/table/cell.js +14 -26
  193. package/components/table/disable-hover-hoc.js +33 -51
  194. package/components/table/header-cell.js +64 -89
  195. package/components/table/header.js +104 -132
  196. package/components/table/multitable.js +107 -125
  197. package/components/table/row-with-focus-sensor.js +25 -69
  198. package/components/table/row.js +175 -216
  199. package/components/table/selection-adapter.js +1 -3
  200. package/components/table/selection-shortcuts-hoc.js +180 -181
  201. package/components/table/selection.js +156 -226
  202. package/components/table/smart-table.js +50 -88
  203. package/components/table/table.js +289 -358
  204. package/components/tabs/collapsible-more.js +46 -79
  205. package/components/tabs/collapsible-tab.js +31 -38
  206. package/components/tabs/collapsible-tabs.js +88 -153
  207. package/components/tabs/custom-item.js +4 -2
  208. package/components/tabs/dumb-tabs.js +74 -117
  209. package/components/tabs/smart-tabs.js +29 -69
  210. package/components/tabs/tab-link.js +1 -5
  211. package/components/tabs/tab.js +19 -31
  212. package/components/tabs/tabs.js +0 -31
  213. package/components/tag/tag.js +133 -173
  214. package/components/tags-input/tags-input.js +329 -427
  215. package/components/tags-list/tags-list.js +57 -78
  216. package/components/text/text.js +28 -39
  217. package/components/toggle/toggle.js +56 -70
  218. package/components/tooltip/tooltip.js +146 -190
  219. package/components/user-agreement/service.js +228 -371
  220. package/components/user-agreement/toolbox.eula.js +160 -1
  221. package/components/user-agreement/user-agreement.js +85 -120
  222. package/components/user-card/card.js +0 -29
  223. package/components/user-card/smart-user-card-tooltip.js +51 -111
  224. package/components/user-card/tooltip.js +47 -84
  225. package/components/user-card/user-card.js +0 -29
  226. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
3
2
  import React, { PureComponent } from 'react';
4
3
  import { createPortal } from 'react-dom';
5
4
  import PropTypes from 'prop-types';
@@ -12,7 +11,7 @@ import Shortcuts from '../shortcuts/shortcuts.js';
12
11
  import TabTrap from '../tab-trap/tab-trap.js';
13
12
  import { Button } from '../button/button.js';
14
13
  import { PopupTarget } from '../popup/popup.target.js';
15
- import { m as modules_5e9b8c03, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';
14
+ import { p as preventerFactory, m as modules_5e9b8c03 } from '../_helpers/dialog__body-scroll-preventer.js';
16
15
  import '../island/adaptive-island-hoc.js';
17
16
  import '../global/linear-function.js';
18
17
  import '../_helpers/island.js';
@@ -20,219 +19,172 @@ import '../island/header.js';
20
19
  import '../island/content.js';
21
20
  import 'element-resize-detector';
22
21
  import '../global/schedule-raf.js';
23
- import 'core-js/modules/es.object.to-string.js';
24
- import 'core-js/modules/es.regexp.to-string.js';
25
- import 'core-js/modules/es.array.reduce.js';
26
- import 'core-js/modules/es.object.entries.js';
27
- import 'core-js/modules/es.array.map.js';
28
22
  import '../shortcuts/core.js';
29
- import 'core-js/modules/es.array.find-index.js';
30
- import 'core-js/modules/es.array.includes.js';
31
- import 'core-js/modules/es.array.slice.js';
32
- import 'core-js/modules/es.array.splice.js';
33
- import 'core-js/modules/es.object.assign.js';
34
- import 'core-js/modules/es.regexp.exec.js';
35
- import 'core-js/modules/es.string.includes.js';
36
- import 'core-js/modules/es.string.match.js';
37
23
  import 'combokeys';
38
24
  import '../global/sniffer.js';
39
25
  import 'sniffr';
40
- import 'core-js/modules/es.array.filter.js';
41
26
  import '../global/dom.js';
42
- import 'core-js/modules/es.array.iterator.js';
43
- import 'core-js/modules/es.set.js';
44
- import 'core-js/modules/es.string.split.js';
45
- import 'core-js/modules/web.dom-collections.for-each.js';
46
- import 'core-js/modules/web.dom-collections.iterator.js';
47
27
  import '@jetbrains/icons/chevron-10px';
48
28
  import '../icon/icon.js';
49
29
  import 'util-deprecate';
50
30
  import '../icon/icon__constants.js';
51
31
  import '../_helpers/icon__svg.js';
52
- import 'core-js/modules/es.string.replace.js';
53
- import 'core-js/modules/es.string.starts-with.js';
54
32
  import '../global/memoize.js';
55
- import 'core-js/modules/es.map.js';
56
- import 'core-js/modules/es.weak-map.js';
57
33
  import '../link/clickableLink.js';
58
34
  import '../global/controls-height.js';
59
35
  import '../_helpers/button__classes.js';
60
36
  import 'scrollbar-width';
61
37
 
62
- var _excluded = ["show", "showCloseButton", "onOverlayClick", "onCloseAttempt", "onEscPress", "onCloseClick", "children", "className", "contentClassName", "trapFocus", "data-test", "closeButtonInside", "portalTarget", "label", "closeButtonTitle", "dense", "shortcutOptions"];
63
38
  /**
64
39
  * @name Dialog
65
40
  */
66
41
  function noop() {}
67
- var Dialog = /*#__PURE__*/function (_PureComponent) {
68
- function Dialog() {
69
- var _this;
70
- _classCallCheck(this, Dialog);
71
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
72
- args[_key] = arguments[_key];
73
- }
74
- _this = _callSuper(this, Dialog, [].concat(args));
75
- _defineProperty(_this, "state", {
76
- shortcutsScope: getUID('ring-dialog-')
77
- });
78
- _defineProperty(_this, "scrollPreventer", preventerFactory(getUID('preventer-')));
79
- _defineProperty(_this, "uid", getUID('dialog-'));
80
- _defineProperty(_this, "handleClick", function (event) {
81
- _this.props.onOverlayClick(event);
82
- _this.props.onCloseAttempt(event);
83
- });
84
- _defineProperty(_this, "onCloseClick", function (event) {
85
- _this.props.onCloseClick(event);
86
- _this.props.onCloseAttempt(event);
87
- });
88
- _defineProperty(_this, "getShortcutsMap", function () {
89
- var onEscape = function onEscape(event) {
90
- if (_this.props.show) {
91
- _this.props.onEscPress(event);
92
- _this.props.onCloseAttempt(event);
93
- }
94
- };
95
- return {
96
- esc: onEscape
97
- };
98
- });
99
- _defineProperty(_this, "dialog", void 0);
100
- _defineProperty(_this, "dialogRef", function (tabTrap) {
101
- _this.dialog = tabTrap && tabTrap.node;
102
- });
103
- return _this;
42
+ class Dialog extends PureComponent {
43
+ static propTypes = {
44
+ label: PropTypes.string,
45
+ className: PropTypes.string,
46
+ contentClassName: PropTypes.string,
47
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
48
+ show: PropTypes.bool.isRequired,
49
+ showCloseButton: PropTypes.bool,
50
+ closeButtonInside: PropTypes.bool,
51
+ closeButtonTitle: PropTypes.string,
52
+ onOverlayClick: PropTypes.func,
53
+ onEscPress: PropTypes.func,
54
+ onCloseClick: PropTypes.func,
55
+ shortcutOptions: PropTypes.object,
56
+ // onCloseAttempt is a common callback for ESC pressing and overlay clicking.
57
+ // Use it if you don't need different behaviors for this cases.
58
+ onCloseAttempt: PropTypes.func,
59
+ // focusTrap may break popups inside dialog, so use it carefully
60
+ trapFocus: PropTypes.bool,
61
+ portalTarget: PropTypes.instanceOf(HTMLElement),
62
+ autoFocusFirst: PropTypes.bool,
63
+ 'data-test': PropTypes.string
64
+ };
65
+ static defaultProps = {
66
+ label: 'Dialog',
67
+ onOverlayClick: noop,
68
+ onEscPress: noop,
69
+ onCloseClick: noop,
70
+ onCloseAttempt: noop,
71
+ showCloseButton: false,
72
+ closeButtonInside: false,
73
+ shortcutOptions: {
74
+ modal: false
75
+ },
76
+ trapFocus: false,
77
+ autoFocusFirst: true
78
+ };
79
+ state = {
80
+ shortcutsScope: getUID('ring-dialog-')
81
+ };
82
+ componentDidMount() {
83
+ this.toggleScrollPreventer();
104
84
  }
105
- _inherits(Dialog, _PureComponent);
106
- return _createClass(Dialog, [{
107
- key: "componentDidMount",
108
- value: function componentDidMount() {
85
+ componentDidUpdate(prevProps) {
86
+ if (prevProps.show !== this.props.show) {
109
87
  this.toggleScrollPreventer();
110
88
  }
111
- }, {
112
- key: "componentDidUpdate",
113
- value: function componentDidUpdate(prevProps) {
114
- if (prevProps.show !== this.props.show) {
115
- this.toggleScrollPreventer();
116
- }
117
- }
118
- }, {
119
- key: "componentWillUnmount",
120
- value: function componentWillUnmount() {
89
+ }
90
+ componentWillUnmount() {
91
+ this.scrollPreventer.reset();
92
+ }
93
+ scrollPreventer = preventerFactory(getUID('preventer-'));
94
+ uid = getUID('dialog-');
95
+ toggleScrollPreventer() {
96
+ if (this.props.show) {
97
+ this.scrollPreventer.prevent();
98
+ } else {
121
99
  this.scrollPreventer.reset();
122
100
  }
123
- }, {
124
- key: "toggleScrollPreventer",
125
- value: function toggleScrollPreventer() {
101
+ }
102
+ handleClick = event => {
103
+ this.props.onOverlayClick(event);
104
+ this.props.onCloseAttempt(event);
105
+ };
106
+ onCloseClick = event => {
107
+ this.props.onCloseClick(event);
108
+ this.props.onCloseAttempt(event);
109
+ };
110
+ getShortcutsMap = () => {
111
+ const onEscape = event => {
126
112
  if (this.props.show) {
127
- this.scrollPreventer.prevent();
128
- } else {
129
- this.scrollPreventer.reset();
113
+ this.props.onEscPress(event);
114
+ this.props.onCloseAttempt(event);
130
115
  }
131
- }
132
- }, {
133
- key: "render",
134
- value: function render() {
135
- var _this2 = this;
136
- var _this$props = this.props,
137
- show = _this$props.show,
138
- showCloseButton = _this$props.showCloseButton,
139
- onOverlayClick = _this$props.onOverlayClick,
140
- onCloseAttempt = _this$props.onCloseAttempt;
141
- _this$props.onEscPress;
142
- _this$props.onCloseClick;
143
- var children = _this$props.children,
144
- className = _this$props.className,
145
- contentClassName = _this$props.contentClassName,
146
- trapFocus = _this$props.trapFocus,
147
- dataTest = _this$props['data-test'],
148
- closeButtonInside = _this$props.closeButtonInside,
149
- portalTarget = _this$props.portalTarget,
150
- label = _this$props.label,
151
- closeButtonTitle = _this$props.closeButtonTitle,
152
- dense = _this$props.dense;
153
- _this$props.shortcutOptions;
154
- var restProps = _objectWithoutProperties(_this$props, _excluded);
155
- var classes = classNames(modules_5e9b8c03.container, className);
156
- var shortcutsMap = this.getShortcutsMap();
157
- return show && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(PopupTarget, {
158
- id: this.uid,
159
- className: modules_5e9b8c03.popupTarget
160
- }, function (target) {
161
- return /*#__PURE__*/React.createElement(TabTrap, _extends({
162
- trapDisabled: !trapFocus,
163
- "data-test": joinDataTestAttributes('ring-dialog-container', dataTest),
164
- ref: _this2.dialogRef,
165
- className: classes,
166
- role: "presentation"
167
- }, restProps), /*#__PURE__*/React.createElement(Shortcuts, {
168
- map: shortcutsMap,
169
- scope: _this2.state.shortcutsScope,
170
- options: _this2.props.shortcutOptions
171
- }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/React.createElement("div", {
172
- // click handler is duplicated in close button
173
- role: "presentation",
174
- className: modules_5e9b8c03.clickableOverlay,
175
- onClick: _this2.handleClick
176
- }), /*#__PURE__*/React.createElement("div", {
177
- className: modules_5e9b8c03.innerContainer
178
- }, /*#__PURE__*/React.createElement(AdaptiveIsland, {
179
- className: classNames(modules_5e9b8c03.content, contentClassName, {
180
- [modules_5e9b8c03.dense]: dense
181
- }),
182
- "data-test": "ring-dialog",
183
- role: "dialog",
184
- "aria-label": label
185
- }, children, showCloseButton && /*#__PURE__*/React.createElement(Button, {
186
- icon: closeIcon,
187
- "data-test": "ring-dialog-close-button",
188
- className: classNames(modules_5e9b8c03.closeButton, {
189
- [modules_5e9b8c03.closeButtonOutside]: !closeButtonInside,
190
- [modules_5e9b8c03.closeButtonInside]: closeButtonInside
191
- }),
192
- iconClassName: modules_5e9b8c03.closeIcon,
193
- onClick: _this2.onCloseClick,
194
- title: closeButtonTitle,
195
- "aria-label": closeButtonTitle || 'close dialog'
196
- }))), target);
197
- }), portalTarget instanceof HTMLElement ? portalTarget : document.body);
198
- }
199
- }]);
200
- }(PureComponent);
201
- _defineProperty(Dialog, "propTypes", {
202
- label: PropTypes.string,
203
- className: PropTypes.string,
204
- contentClassName: PropTypes.string,
205
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
206
- show: PropTypes.bool.isRequired,
207
- showCloseButton: PropTypes.bool,
208
- closeButtonInside: PropTypes.bool,
209
- closeButtonTitle: PropTypes.string,
210
- onOverlayClick: PropTypes.func,
211
- onEscPress: PropTypes.func,
212
- onCloseClick: PropTypes.func,
213
- shortcutOptions: PropTypes.object,
214
- // onCloseAttempt is a common callback for ESC pressing and overlay clicking.
215
- // Use it if you don't need different behaviors for this cases.
216
- onCloseAttempt: PropTypes.func,
217
- // focusTrap may break popups inside dialog, so use it carefully
218
- trapFocus: PropTypes.bool,
219
- portalTarget: PropTypes.instanceOf(HTMLElement),
220
- autoFocusFirst: PropTypes.bool,
221
- 'data-test': PropTypes.string
222
- });
223
- _defineProperty(Dialog, "defaultProps", {
224
- label: 'Dialog',
225
- onOverlayClick: noop,
226
- onEscPress: noop,
227
- onCloseClick: noop,
228
- onCloseAttempt: noop,
229
- showCloseButton: false,
230
- closeButtonInside: false,
231
- shortcutOptions: {
232
- modal: false
233
- },
234
- trapFocus: false,
235
- autoFocusFirst: true
236
- });
116
+ };
117
+ return {
118
+ esc: onEscape
119
+ };
120
+ };
121
+ dialog;
122
+ dialogRef = tabTrap => {
123
+ this.dialog = tabTrap && tabTrap.node;
124
+ };
125
+ render() {
126
+ const {
127
+ show,
128
+ showCloseButton,
129
+ onOverlayClick,
130
+ onCloseAttempt,
131
+ onEscPress,
132
+ onCloseClick,
133
+ children,
134
+ className,
135
+ contentClassName,
136
+ trapFocus,
137
+ 'data-test': dataTest,
138
+ closeButtonInside,
139
+ portalTarget,
140
+ label,
141
+ closeButtonTitle,
142
+ dense,
143
+ shortcutOptions,
144
+ ...restProps
145
+ } = this.props;
146
+ const classes = classNames(modules_5e9b8c03.container, className);
147
+ const shortcutsMap = this.getShortcutsMap();
148
+ return show && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(PopupTarget, {
149
+ id: this.uid,
150
+ className: modules_5e9b8c03.popupTarget
151
+ }, target => /*#__PURE__*/React.createElement(TabTrap, _extends({
152
+ trapDisabled: !trapFocus,
153
+ "data-test": joinDataTestAttributes('ring-dialog-container', dataTest),
154
+ ref: this.dialogRef,
155
+ className: classes,
156
+ role: "presentation"
157
+ }, restProps), /*#__PURE__*/React.createElement(Shortcuts, {
158
+ map: shortcutsMap,
159
+ scope: this.state.shortcutsScope,
160
+ options: this.props.shortcutOptions
161
+ }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/React.createElement("div", {
162
+ // click handler is duplicated in close button
163
+ role: "presentation",
164
+ className: modules_5e9b8c03.clickableOverlay,
165
+ onClick: this.handleClick
166
+ }), /*#__PURE__*/React.createElement("div", {
167
+ className: modules_5e9b8c03.innerContainer
168
+ }, /*#__PURE__*/React.createElement(AdaptiveIsland, {
169
+ className: classNames(modules_5e9b8c03.content, contentClassName, {
170
+ [modules_5e9b8c03.dense]: dense
171
+ }),
172
+ "data-test": "ring-dialog",
173
+ role: "dialog",
174
+ "aria-label": label
175
+ }, children, showCloseButton && /*#__PURE__*/React.createElement(Button, {
176
+ icon: closeIcon,
177
+ "data-test": "ring-dialog-close-button",
178
+ className: classNames(modules_5e9b8c03.closeButton, {
179
+ [modules_5e9b8c03.closeButtonOutside]: !closeButtonInside,
180
+ [modules_5e9b8c03.closeButtonInside]: closeButtonInside
181
+ }),
182
+ iconClassName: modules_5e9b8c03.closeIcon,
183
+ onClick: this.onCloseClick,
184
+ title: closeButtonTitle,
185
+ "aria-label": closeButtonTitle || 'close dialog'
186
+ }))), target)), portalTarget instanceof HTMLElement ? portalTarget : document.body);
187
+ }
188
+ }
237
189
 
238
190
  export { Dialog as default };
@@ -1,6 +1,2 @@
1
- import 'core-js/modules/es.array.iterator.js';
2
- import 'core-js/modules/es.object.to-string.js';
3
- import 'core-js/modules/es.set.js';
4
- import 'core-js/modules/web.dom-collections.iterator.js';
5
1
  import 'scrollbar-width';
6
2
  export { d as default, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';
@@ -9,16 +9,7 @@ export { A as default } from '../_helpers/anchor.js';
9
9
  import 'util-deprecate';
10
10
  import '../icon/icon__constants.js';
11
11
  import '../_helpers/icon__svg.js';
12
- import 'core-js/modules/es.regexp.exec.js';
13
- import 'core-js/modules/es.string.replace.js';
14
- import 'core-js/modules/es.string.starts-with.js';
15
12
  import '../global/memoize.js';
16
- import 'core-js/modules/es.array.iterator.js';
17
- import 'core-js/modules/es.map.js';
18
- import 'core-js/modules/es.object.to-string.js';
19
- import 'core-js/modules/es.weak-map.js';
20
- import 'core-js/modules/web.dom-collections.iterator.js';
21
- import 'core-js/modules/es.array.concat.js';
22
13
  import '../link/clickableLink.js';
23
14
  import '../global/controls-height.js';
24
15
  import '../_helpers/button__classes.js';