@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 { _ 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';
2
3
  import React, { PureComponent } from 'react';
3
4
  import { createPortal } from 'react-dom';
4
5
  import PropTypes from 'prop-types';
@@ -11,7 +12,7 @@ import Shortcuts from '../shortcuts/shortcuts.js';
11
12
  import TabTrap from '../tab-trap/tab-trap.js';
12
13
  import { Button } from '../button/button.js';
13
14
  import { PopupTarget } from '../popup/popup.target.js';
14
- import { p as preventerFactory, m as modules_5e9b8c03 } from '../_helpers/dialog__body-scroll-preventer.js';
15
+ import { m as modules_5e9b8c03, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';
15
16
  import '../island/adaptive-island-hoc.js';
16
17
  import '../global/linear-function.js';
17
18
  import '../_helpers/island.js';
@@ -19,172 +20,219 @@ import '../island/header.js';
19
20
  import '../island/content.js';
20
21
  import 'element-resize-detector';
21
22
  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';
22
28
  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';
23
37
  import 'combokeys';
24
38
  import '../global/sniffer.js';
25
39
  import 'sniffr';
40
+ import 'core-js/modules/es.array.filter.js';
26
41
  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';
27
47
  import '@jetbrains/icons/chevron-10px';
28
48
  import '../icon/icon.js';
29
49
  import 'util-deprecate';
30
50
  import '../icon/icon__constants.js';
31
51
  import '../_helpers/icon__svg.js';
52
+ import 'core-js/modules/es.string.replace.js';
53
+ import 'core-js/modules/es.string.starts-with.js';
32
54
  import '../global/memoize.js';
55
+ import 'core-js/modules/es.map.js';
56
+ import 'core-js/modules/es.weak-map.js';
33
57
  import '../link/clickableLink.js';
34
58
  import '../global/controls-height.js';
35
59
  import '../_helpers/button__classes.js';
36
60
  import 'scrollbar-width';
37
61
 
62
+ var _excluded = ["show", "showCloseButton", "onOverlayClick", "onCloseAttempt", "onEscPress", "onCloseClick", "children", "className", "contentClassName", "trapFocus", "data-test", "closeButtonInside", "portalTarget", "label", "closeButtonTitle", "dense", "shortcutOptions"];
38
63
  /**
39
64
  * @name Dialog
40
65
  */
41
66
  function noop() {}
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();
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;
84
104
  }
85
- componentDidUpdate(prevProps) {
86
- if (prevProps.show !== this.props.show) {
105
+ _inherits(Dialog, _PureComponent);
106
+ return _createClass(Dialog, [{
107
+ key: "componentDidMount",
108
+ value: function componentDidMount() {
87
109
  this.toggleScrollPreventer();
88
110
  }
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 {
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() {
99
121
  this.scrollPreventer.reset();
100
122
  }
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 => {
123
+ }, {
124
+ key: "toggleScrollPreventer",
125
+ value: function toggleScrollPreventer() {
112
126
  if (this.props.show) {
113
- this.props.onEscPress(event);
114
- this.props.onCloseAttempt(event);
127
+ this.scrollPreventer.prevent();
128
+ } else {
129
+ this.scrollPreventer.reset();
115
130
  }
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
- }
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
+ });
189
237
 
190
238
  export { Dialog as default };
@@ -1,2 +1,6 @@
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';
1
5
  import 'scrollbar-width';
2
6
  export { d as default, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';
@@ -9,7 +9,16 @@ 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';
12
15
  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';
13
22
  import '../link/clickableLink.js';
14
23
  import '../global/controls-height.js';
15
24
  import '../_helpers/button__classes.js';