@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,5 @@
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';
2
3
  import React, { PureComponent } from 'react';
3
4
  import { createPortal } from 'react-dom';
4
5
  import PropTypes from 'prop-types';
@@ -19,173 +20,220 @@ 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.array.reduce.js';
24
+ import 'core-js/modules/es.object.to-string.js';
25
+ import 'core-js/modules/es.object.entries.js';
26
+ import 'core-js/modules/es.regexp.to-string.js';
27
+ import 'core-js/modules/es.array.map.js';
22
28
  import '../shortcuts/core.js';
29
+ import 'core-js/modules/es.array.includes.js';
30
+ import 'core-js/modules/es.string.includes.js';
31
+ import 'core-js/modules/es.object.assign.js';
32
+ import 'core-js/modules/es.array.slice.js';
33
+ import 'core-js/modules/es.array.splice.js';
34
+ import 'core-js/modules/es.regexp.exec.js';
35
+ import 'core-js/modules/es.string.match.js';
36
+ import 'core-js/modules/es.array.find-index.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/web.dom-collections.for-each.js';
43
+ import 'core-js/modules/es.string.split.js';
44
+ import 'core-js/modules/es.object.keys.js';
45
+ import 'core-js/modules/es.array.iterator.js';
46
+ import 'core-js/modules/es.set.js';
47
+ import 'core-js/modules/es.string.iterator.js';
48
+ import 'core-js/modules/web.dom-collections.iterator.js';
27
49
  import '@jetbrains/icons/chevron-10px';
28
50
  import '../icon/icon.js';
29
51
  import 'util-deprecate';
30
52
  import '../icon/icon__constants.js';
31
53
  import '../_helpers/icon.js';
32
54
  import '../icon/icon__svg.js';
55
+ import 'core-js/modules/es.string.replace.js';
56
+ import 'core-js/modules/es.string.starts-with.js';
33
57
  import '../global/memoize.js';
58
+ import 'core-js/modules/es.map.js';
59
+ import 'core-js/modules/es.weak-map.js';
34
60
  import '../link/clickableLink.js';
35
61
  import '../global/controls-height.js';
36
62
  import '../_helpers/button__classes.js';
37
63
  import 'scrollbar-width';
38
64
 
65
+ var _excluded = ["show", "showCloseButton", "onOverlayClick", "onCloseAttempt", "onEscPress", "onCloseClick", "children", "className", "contentClassName", "trapFocus", "data-test", "closeButtonInside", "portalTarget", "label", "closeButtonTitle", "dense", "shortcutOptions"];
39
66
  /**
40
67
  * @name Dialog
41
68
  */
42
69
  function noop() {}
43
- class Dialog extends PureComponent {
44
- static propTypes = {
45
- label: PropTypes.string,
46
- className: PropTypes.string,
47
- contentClassName: PropTypes.string,
48
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
49
- show: PropTypes.bool.isRequired,
50
- showCloseButton: PropTypes.bool,
51
- closeButtonInside: PropTypes.bool,
52
- closeButtonTitle: PropTypes.string,
53
- onOverlayClick: PropTypes.func,
54
- onEscPress: PropTypes.func,
55
- onCloseClick: PropTypes.func,
56
- shortcutOptions: PropTypes.object,
57
- // onCloseAttempt is a common callback for ESC pressing and overlay clicking.
58
- // Use it if you don't need different behaviors for this cases.
59
- onCloseAttempt: PropTypes.func,
60
- // focusTrap may break popups inside dialog, so use it carefully
61
- trapFocus: PropTypes.bool,
62
- portalTarget: PropTypes.instanceOf(HTMLElement),
63
- autoFocusFirst: PropTypes.bool,
64
- 'data-test': PropTypes.string
65
- };
66
- static defaultProps = {
67
- label: 'Dialog',
68
- onOverlayClick: noop,
69
- onEscPress: noop,
70
- onCloseClick: noop,
71
- onCloseAttempt: noop,
72
- showCloseButton: false,
73
- closeButtonInside: false,
74
- shortcutOptions: {
75
- modal: false
76
- },
77
- trapFocus: false,
78
- autoFocusFirst: true
79
- };
80
- state = {
81
- shortcutsScope: getUID('ring-dialog-')
82
- };
83
- componentDidMount() {
84
- this.toggleScrollPreventer();
70
+ var Dialog = /*#__PURE__*/function (_PureComponent) {
71
+ _inherits(Dialog, _PureComponent);
72
+ var _super = _createSuper(Dialog);
73
+ function Dialog() {
74
+ var _this;
75
+ _classCallCheck(this, Dialog);
76
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
77
+ args[_key] = arguments[_key];
78
+ }
79
+ _this = _super.call.apply(_super, [this].concat(args));
80
+ _defineProperty(_assertThisInitialized(_this), "state", {
81
+ shortcutsScope: getUID('ring-dialog-')
82
+ });
83
+ _defineProperty(_assertThisInitialized(_this), "scrollPreventer", preventerFactory(getUID('preventer-')));
84
+ _defineProperty(_assertThisInitialized(_this), "uid", getUID('dialog-'));
85
+ _defineProperty(_assertThisInitialized(_this), "handleClick", function (event) {
86
+ _this.props.onOverlayClick(event);
87
+ _this.props.onCloseAttempt(event);
88
+ });
89
+ _defineProperty(_assertThisInitialized(_this), "onCloseClick", function (event) {
90
+ _this.props.onCloseClick(event);
91
+ _this.props.onCloseAttempt(event);
92
+ });
93
+ _defineProperty(_assertThisInitialized(_this), "getShortcutsMap", function () {
94
+ var onEscape = function onEscape(event) {
95
+ if (_this.props.show) {
96
+ _this.props.onEscPress(event);
97
+ _this.props.onCloseAttempt(event);
98
+ }
99
+ };
100
+ return {
101
+ esc: onEscape
102
+ };
103
+ });
104
+ _defineProperty(_assertThisInitialized(_this), "dialog", void 0);
105
+ _defineProperty(_assertThisInitialized(_this), "dialogRef", function (tabTrap) {
106
+ _this.dialog = tabTrap && tabTrap.node;
107
+ });
108
+ return _this;
85
109
  }
86
- componentDidUpdate(prevProps) {
87
- if (prevProps.show !== this.props.show) {
110
+ _createClass(Dialog, [{
111
+ key: "componentDidMount",
112
+ value: function componentDidMount() {
88
113
  this.toggleScrollPreventer();
89
114
  }
90
- }
91
- componentWillUnmount() {
92
- this.scrollPreventer.reset();
93
- }
94
- scrollPreventer = preventerFactory(getUID('preventer-'));
95
- uid = getUID('dialog-');
96
- toggleScrollPreventer() {
97
- if (this.props.show) {
98
- this.scrollPreventer.prevent();
99
- } else {
115
+ }, {
116
+ key: "componentDidUpdate",
117
+ value: function componentDidUpdate(prevProps) {
118
+ if (prevProps.show !== this.props.show) {
119
+ this.toggleScrollPreventer();
120
+ }
121
+ }
122
+ }, {
123
+ key: "componentWillUnmount",
124
+ value: function componentWillUnmount() {
100
125
  this.scrollPreventer.reset();
101
126
  }
102
- }
103
- handleClick = event => {
104
- this.props.onOverlayClick(event);
105
- this.props.onCloseAttempt(event);
106
- };
107
- onCloseClick = event => {
108
- this.props.onCloseClick(event);
109
- this.props.onCloseAttempt(event);
110
- };
111
- getShortcutsMap = () => {
112
- const onEscape = event => {
127
+ }, {
128
+ key: "toggleScrollPreventer",
129
+ value: function toggleScrollPreventer() {
113
130
  if (this.props.show) {
114
- this.props.onEscPress(event);
115
- this.props.onCloseAttempt(event);
131
+ this.scrollPreventer.prevent();
132
+ } else {
133
+ this.scrollPreventer.reset();
116
134
  }
117
- };
118
- return {
119
- esc: onEscape
120
- };
121
- };
122
- dialog;
123
- dialogRef = tabTrap => {
124
- this.dialog = tabTrap && tabTrap.node;
125
- };
126
- render() {
127
- const {
128
- show,
129
- showCloseButton,
130
- onOverlayClick,
131
- onCloseAttempt,
132
- onEscPress,
133
- onCloseClick,
134
- children,
135
- className,
136
- contentClassName,
137
- trapFocus,
138
- 'data-test': dataTest,
139
- closeButtonInside,
140
- portalTarget,
141
- label,
142
- closeButtonTitle,
143
- dense,
144
- shortcutOptions,
145
- ...restProps
146
- } = this.props;
147
- const classes = classNames(modules_5e9b8c03.container, className);
148
- const shortcutsMap = this.getShortcutsMap();
149
- return show && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(PopupTarget, {
150
- id: this.uid,
151
- className: modules_5e9b8c03.popupTarget
152
- }, target => /*#__PURE__*/React.createElement(TabTrap, _extends({
153
- trapDisabled: !trapFocus,
154
- "data-test": joinDataTestAttributes('ring-dialog-container', dataTest),
155
- ref: this.dialogRef,
156
- className: classes,
157
- role: "presentation"
158
- }, restProps), /*#__PURE__*/React.createElement(Shortcuts, {
159
- map: shortcutsMap,
160
- scope: this.state.shortcutsScope,
161
- options: this.props.shortcutOptions
162
- }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/React.createElement("div", {
163
- // click handler is duplicated in close button
164
- role: "presentation",
165
- className: modules_5e9b8c03.clickableOverlay,
166
- onClick: this.handleClick
167
- }), /*#__PURE__*/React.createElement("div", {
168
- className: modules_5e9b8c03.innerContainer
169
- }, /*#__PURE__*/React.createElement(AdaptiveIsland, {
170
- className: classNames(modules_5e9b8c03.content, contentClassName, {
171
- [modules_5e9b8c03.dense]: dense
172
- }),
173
- "data-test": "ring-dialog",
174
- role: "dialog",
175
- "aria-label": label
176
- }, children, showCloseButton && /*#__PURE__*/React.createElement(Button, {
177
- icon: closeIcon,
178
- "data-test": "ring-dialog-close-button",
179
- className: classNames(modules_5e9b8c03.closeButton, {
180
- [modules_5e9b8c03.closeButtonOutside]: !closeButtonInside,
181
- [modules_5e9b8c03.closeButtonInside]: closeButtonInside
182
- }),
183
- iconClassName: modules_5e9b8c03.closeIcon,
184
- onClick: this.onCloseClick,
185
- title: closeButtonTitle,
186
- "aria-label": closeButtonTitle || 'close dialog'
187
- }))), target)), portalTarget instanceof HTMLElement ? portalTarget : document.body);
188
- }
189
- }
135
+ }
136
+ }, {
137
+ key: "render",
138
+ value: function render() {
139
+ var _this2 = this;
140
+ var _this$props = this.props,
141
+ show = _this$props.show,
142
+ showCloseButton = _this$props.showCloseButton,
143
+ onOverlayClick = _this$props.onOverlayClick,
144
+ onCloseAttempt = _this$props.onCloseAttempt;
145
+ _this$props.onEscPress;
146
+ _this$props.onCloseClick;
147
+ var children = _this$props.children,
148
+ className = _this$props.className,
149
+ contentClassName = _this$props.contentClassName,
150
+ trapFocus = _this$props.trapFocus,
151
+ dataTest = _this$props['data-test'],
152
+ closeButtonInside = _this$props.closeButtonInside,
153
+ portalTarget = _this$props.portalTarget,
154
+ label = _this$props.label,
155
+ closeButtonTitle = _this$props.closeButtonTitle,
156
+ dense = _this$props.dense;
157
+ _this$props.shortcutOptions;
158
+ var restProps = _objectWithoutProperties(_this$props, _excluded);
159
+ var classes = classNames(modules_5e9b8c03.container, className);
160
+ var shortcutsMap = this.getShortcutsMap();
161
+ return show && /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(PopupTarget, {
162
+ id: this.uid,
163
+ className: modules_5e9b8c03.popupTarget
164
+ }, function (target) {
165
+ var _classNames2;
166
+ return /*#__PURE__*/React.createElement(TabTrap, _extends({
167
+ trapDisabled: !trapFocus,
168
+ "data-test": joinDataTestAttributes('ring-dialog-container', dataTest),
169
+ ref: _this2.dialogRef,
170
+ className: classes,
171
+ role: "presentation"
172
+ }, restProps), /*#__PURE__*/React.createElement(Shortcuts, {
173
+ map: shortcutsMap,
174
+ scope: _this2.state.shortcutsScope,
175
+ options: _this2.props.shortcutOptions
176
+ }), (onOverlayClick !== noop || onCloseAttempt !== noop) && /*#__PURE__*/React.createElement("div", {
177
+ // click handler is duplicated in close button
178
+ role: "presentation",
179
+ className: modules_5e9b8c03.clickableOverlay,
180
+ onClick: _this2.handleClick
181
+ }), /*#__PURE__*/React.createElement("div", {
182
+ className: modules_5e9b8c03.innerContainer
183
+ }, /*#__PURE__*/React.createElement(AdaptiveIsland, {
184
+ className: classNames(modules_5e9b8c03.content, contentClassName, _defineProperty({}, modules_5e9b8c03.dense, dense)),
185
+ "data-test": "ring-dialog",
186
+ role: "dialog",
187
+ "aria-label": label
188
+ }, children, showCloseButton && /*#__PURE__*/React.createElement(Button, {
189
+ icon: closeIcon,
190
+ "data-test": "ring-dialog-close-button",
191
+ className: classNames(modules_5e9b8c03.closeButton, (_classNames2 = {}, _defineProperty(_classNames2, modules_5e9b8c03.closeButtonOutside, !closeButtonInside), _defineProperty(_classNames2, modules_5e9b8c03.closeButtonInside, closeButtonInside), _classNames2)),
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
+ return Dialog;
201
+ }(PureComponent);
202
+ _defineProperty(Dialog, "propTypes", {
203
+ label: PropTypes.string,
204
+ className: PropTypes.string,
205
+ contentClassName: PropTypes.string,
206
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
207
+ show: PropTypes.bool.isRequired,
208
+ showCloseButton: PropTypes.bool,
209
+ closeButtonInside: PropTypes.bool,
210
+ closeButtonTitle: PropTypes.string,
211
+ onOverlayClick: PropTypes.func,
212
+ onEscPress: PropTypes.func,
213
+ onCloseClick: PropTypes.func,
214
+ shortcutOptions: PropTypes.object,
215
+ // onCloseAttempt is a common callback for ESC pressing and overlay clicking.
216
+ // Use it if you don't need different behaviors for this cases.
217
+ onCloseAttempt: PropTypes.func,
218
+ // focusTrap may break popups inside dialog, so use it carefully
219
+ trapFocus: PropTypes.bool,
220
+ portalTarget: PropTypes.instanceOf(HTMLElement),
221
+ autoFocusFirst: PropTypes.bool,
222
+ 'data-test': PropTypes.string
223
+ });
224
+ _defineProperty(Dialog, "defaultProps", {
225
+ label: 'Dialog',
226
+ onOverlayClick: noop,
227
+ onEscPress: noop,
228
+ onCloseClick: noop,
229
+ onCloseAttempt: noop,
230
+ showCloseButton: false,
231
+ closeButtonInside: false,
232
+ shortcutOptions: {
233
+ modal: false
234
+ },
235
+ trapFocus: false,
236
+ autoFocusFirst: true
237
+ });
190
238
 
191
239
  export { Dialog as default };
@@ -1,2 +1,7 @@
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/es.string.iterator.js';
5
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
6
  import 'scrollbar-width';
2
7
  export { d as default, p as preventerFactory } from '../_helpers/dialog__body-scroll-preventer.js';