@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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 (351) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -10
  3. package/components/_helpers/button__classes.js +23 -20
  4. package/components/_helpers/caption.js +11 -21
  5. package/components/_helpers/card.js +91 -123
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -29
  9. package/components/_helpers/input.js +151 -193
  10. package/components/_helpers/query-assist__suggestions.js +79 -94
  11. package/components/_helpers/select__filter.js +56 -75
  12. package/components/_helpers/services-link.js +23 -39
  13. package/components/_helpers/sidebar.js +91 -102
  14. package/components/_helpers/tab-link.js +8 -12
  15. package/components/_helpers/table.js +1 -1
  16. package/components/_helpers/theme.js +61 -51
  17. package/components/_helpers/title.js +59 -84
  18. package/components/alert/alert.d.ts +7 -24
  19. package/components/alert/alert.js +111 -179
  20. package/components/alert/container.d.ts +0 -5
  21. package/components/alert/container.js +32 -44
  22. package/components/alert-service/alert-service.js +104 -162
  23. package/components/analytics/analytics.js +12 -20
  24. package/components/analytics/analytics__custom-plugin.js +52 -68
  25. package/components/auth/auth.js +2 -31
  26. package/components/auth/auth__core.d.ts +1 -1
  27. package/components/auth/auth__core.js +754 -1440
  28. package/components/auth/background-flow.js +84 -121
  29. package/components/auth/down-notification.js +32 -79
  30. package/components/auth/iframe-flow.js +71 -125
  31. package/components/auth/request-builder.js +46 -77
  32. package/components/auth/response-parser.js +84 -112
  33. package/components/auth/storage.js +162 -324
  34. package/components/auth/token-validator.js +132 -227
  35. package/components/auth/window-flow.js +84 -121
  36. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  37. package/components/auth-dialog/auth-dialog.js +107 -176
  38. package/components/auth-dialog-service/auth-dialog-service.js +12 -33
  39. package/components/avatar/avatar-example-datauri.js +1 -1
  40. package/components/avatar/avatar.d.ts +0 -13
  41. package/components/avatar/avatar.js +94 -136
  42. package/components/avatar/fallback-avatar.d.ts +1 -10
  43. package/components/avatar/fallback-avatar.js +20 -40
  44. package/components/badge/badge.d.ts +0 -10
  45. package/components/badge/badge.js +32 -48
  46. package/components/breadcrumbs/breadcrumbs.js +13 -17
  47. package/components/button/button.d.ts +0 -21
  48. package/components/button/button.js +68 -104
  49. package/components/button/button__classes.d.ts +1 -1
  50. package/components/button-group/button-group.d.ts +0 -5
  51. package/components/button-group/button-group.js +27 -41
  52. package/components/button-group/caption.d.ts +0 -4
  53. package/components/button-group/caption.js +0 -1
  54. package/components/button-set/button-set.d.ts +0 -6
  55. package/components/button-set/button-set.js +19 -33
  56. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  57. package/components/button-toolbar/button-toolbar.js +17 -31
  58. package/components/caret/caret.js +184 -211
  59. package/components/checkbox/checkbox.d.ts +0 -19
  60. package/components/checkbox/checkbox.js +69 -104
  61. package/components/clipboard/clipboard-fallback.js +7 -7
  62. package/components/clipboard/clipboard.js +36 -129
  63. package/components/code/code.d.ts +0 -12
  64. package/components/code/code.js +83 -163
  65. package/components/collapse/collapse-content.js +42 -60
  66. package/components/collapse/collapse-context.js +2 -2
  67. package/components/collapse/collapse-control.js +12 -12
  68. package/components/collapse/collapse.js +12 -17
  69. package/components/collapse/consts.js +4 -4
  70. package/components/collapse/utils.js +1 -3
  71. package/components/confirm/confirm.d.ts +0 -14
  72. package/components/confirm/confirm.js +68 -112
  73. package/components/confirm-service/confirm-service.js +25 -47
  74. package/components/content-layout/content-layout.d.ts +0 -7
  75. package/components/content-layout/content-layout.js +41 -63
  76. package/components/content-layout/sidebar.d.ts +0 -9
  77. package/components/content-layout/sidebar.js +1 -2
  78. package/components/contenteditable/contenteditable.d.ts +1 -22
  79. package/components/contenteditable/contenteditable.js +37 -60
  80. package/components/control-help/control-help.js +5 -3
  81. package/components/control-label/control-label.js +9 -14
  82. package/components/data-list/data-list.d.ts +4 -6
  83. package/components/data-list/data-list.js +115 -179
  84. package/components/data-list/data-list.mock.js +3 -6
  85. package/components/data-list/item.js +119 -165
  86. package/components/data-list/selection.js +77 -135
  87. package/components/data-list/title.d.ts +2 -2
  88. package/components/data-list/title.js +2 -12
  89. package/components/date-picker/consts.d.ts +0 -2
  90. package/components/date-picker/consts.js +16 -24
  91. package/components/date-picker/date-input.d.ts +0 -20
  92. package/components/date-picker/date-input.js +100 -148
  93. package/components/date-picker/date-picker.d.ts +0 -29
  94. package/components/date-picker/date-picker.js +143 -224
  95. package/components/date-picker/date-popup.d.ts +0 -22
  96. package/components/date-picker/date-popup.js +282 -352
  97. package/components/date-picker/day.d.ts +0 -14
  98. package/components/date-picker/day.js +72 -109
  99. package/components/date-picker/month-names.d.ts +1 -11
  100. package/components/date-picker/month-names.js +42 -72
  101. package/components/date-picker/month-slider.d.ts +0 -9
  102. package/components/date-picker/month-slider.js +43 -71
  103. package/components/date-picker/month.d.ts +1 -9
  104. package/components/date-picker/month.js +18 -30
  105. package/components/date-picker/months.d.ts +1 -9
  106. package/components/date-picker/months.js +45 -55
  107. package/components/date-picker/weekdays.d.ts +2 -8
  108. package/components/date-picker/weekdays.js +12 -25
  109. package/components/date-picker/years.d.ts +0 -6
  110. package/components/date-picker/years.js +77 -104
  111. package/components/dialog/dialog.d.ts +0 -20
  112. package/components/dialog/dialog.js +153 -210
  113. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  114. package/components/dropdown/anchor.d.ts +1 -8
  115. package/components/dropdown/anchor.js +0 -7
  116. package/components/dropdown/dropdown.d.ts +4 -22
  117. package/components/dropdown/dropdown.js +134 -176
  118. package/components/dropdown-menu/dropdown-menu.js +51 -103
  119. package/components/editable-heading/editable-heading.js +69 -118
  120. package/components/error-bubble/error-bubble.d.ts +0 -6
  121. package/components/error-bubble/error-bubble.js +30 -60
  122. package/components/error-message/error-message.d.ts +0 -10
  123. package/components/error-message/error-message.js +34 -59
  124. package/components/footer/footer.js +28 -44
  125. package/components/form/form.js +1 -1
  126. package/components/global/compose.js +1 -8
  127. package/components/global/composeRefs.d.ts +0 -3
  128. package/components/global/composeRefs.js +8 -15
  129. package/components/global/controls-height.js +2 -2
  130. package/components/global/create-stateful-context.d.ts +0 -4
  131. package/components/global/create-stateful-context.js +14 -17
  132. package/components/global/data-tests.js +7 -12
  133. package/components/global/dom.js +49 -82
  134. package/components/global/focus-sensor-hoc.js +95 -122
  135. package/components/global/fuzzy-highlight.js +23 -34
  136. package/components/global/get-event-key.js +8 -8
  137. package/components/global/get-uid.js +3 -7
  138. package/components/global/inject-styles.js +7 -14
  139. package/components/global/listeners.js +28 -47
  140. package/components/global/memoize.js +6 -10
  141. package/components/global/normalize-indent.js +19 -46
  142. package/components/global/promise-with-timeout.js +6 -8
  143. package/components/global/react-dom-renderer.d.ts +0 -5
  144. package/components/global/react-dom-renderer.js +29 -45
  145. package/components/global/rerender-hoc.d.ts +2 -2
  146. package/components/global/rerender-hoc.js +16 -32
  147. package/components/global/schedule-raf.js +4 -4
  148. package/components/global/sniffer.js +1 -1
  149. package/components/global/theme.d.ts +8 -2
  150. package/components/global/theme.js +2 -20
  151. package/components/global/trivial-template-tag.js +4 -9
  152. package/components/global/typescript-utils.js +2 -6
  153. package/components/global/url.js +20 -23
  154. package/components/global/use-event-callback.js +7 -4
  155. package/components/grid/col.d.ts +0 -14
  156. package/components/grid/col.js +27 -53
  157. package/components/grid/grid.d.ts +0 -5
  158. package/components/grid/grid.js +20 -32
  159. package/components/grid/row.d.ts +0 -18
  160. package/components/grid/row.js +23 -47
  161. package/components/group/group.d.ts +0 -5
  162. package/components/group/group.js +18 -27
  163. package/components/header/header-icon.d.ts +10 -0
  164. package/components/header/header-icon.js +39 -0
  165. package/components/header/header.d.ts +3 -7
  166. package/components/header/header.js +32 -74
  167. package/components/header/links.d.ts +2 -0
  168. package/components/header/links.js +20 -0
  169. package/components/header/logo.d.ts +0 -4
  170. package/components/header/logo.js +15 -30
  171. package/components/header/profile.d.ts +1 -39
  172. package/components/header/profile.js +126 -190
  173. package/components/header/services-link.d.ts +0 -10
  174. package/components/header/services-link.js +1 -4
  175. package/components/header/services.d.ts +0 -14
  176. package/components/header/services.js +67 -112
  177. package/components/header/smart-profile.d.ts +0 -9
  178. package/components/header/smart-profile.js +116 -205
  179. package/components/header/smart-services.d.ts +0 -4
  180. package/components/header/smart-services.js +73 -142
  181. package/components/header/tray.d.ts +0 -5
  182. package/components/header/tray.js +21 -35
  183. package/components/heading/heading.d.ts +1 -4
  184. package/components/heading/heading.js +25 -42
  185. package/components/http/http.js +162 -319
  186. package/components/http/http.mock.js +50 -98
  187. package/components/hub-source/hub-source.js +77 -182
  188. package/components/hub-source/hub-source__user.js +9 -37
  189. package/components/hub-source/hub-source__users-groups.js +34 -60
  190. package/components/i18n/i18n-context.js +7 -8
  191. package/components/i18n/i18n.js +3 -6
  192. package/components/icon/icon.d.ts +0 -11
  193. package/components/icon/icon.js +60 -85
  194. package/components/icon/icon__svg.d.ts +0 -8
  195. package/components/icon/icon__svg.js +0 -6
  196. package/components/icon/index.js +0 -6
  197. package/components/input/input-legacy.js +1 -1
  198. package/components/input/input.js +2 -14
  199. package/components/input-size/input-size.js +1 -1
  200. package/components/island/adaptive-island-hoc.d.ts +4 -5
  201. package/components/island/adaptive-island-hoc.js +30 -39
  202. package/components/island/content.d.ts +0 -10
  203. package/components/island/content.js +99 -119
  204. package/components/island/header.js +55 -73
  205. package/components/island/island.d.ts +4 -13
  206. package/components/island/island.js +25 -41
  207. package/components/island-legacy/content-legacy.d.ts +0 -5
  208. package/components/island-legacy/content-legacy.js +16 -27
  209. package/components/island-legacy/header-legacy.d.ts +0 -5
  210. package/components/island-legacy/header-legacy.js +19 -30
  211. package/components/island-legacy/island-legacy.d.ts +0 -5
  212. package/components/island-legacy/island-legacy.js +16 -27
  213. package/components/link/clickableLink.d.ts +0 -9
  214. package/components/link/clickableLink.js +33 -51
  215. package/components/link/link.d.ts +8 -33
  216. package/components/link/link.js +47 -68
  217. package/components/list/consts.js +2 -2
  218. package/components/list/list.d.ts +0 -32
  219. package/components/list/list.js +399 -516
  220. package/components/list/list__custom.js +51 -78
  221. package/components/list/list__hint.d.ts +0 -4
  222. package/components/list/list__hint.js +8 -21
  223. package/components/list/list__item.js +147 -211
  224. package/components/list/list__link.js +39 -59
  225. package/components/list/list__separator.js +15 -30
  226. package/components/list/list__title.js +25 -41
  227. package/components/list/list__users-groups-source.js +55 -123
  228. package/components/loader/loader.d.ts +0 -10
  229. package/components/loader/loader.js +38 -70
  230. package/components/loader/loader__core.js +123 -184
  231. package/components/loader-inline/loader-inline.d.ts +0 -6
  232. package/components/loader-inline/loader-inline.js +24 -38
  233. package/components/loader-screen/loader-screen.d.ts +0 -6
  234. package/components/loader-screen/loader-screen.js +24 -46
  235. package/components/login-dialog/login-dialog.d.ts +0 -11
  236. package/components/login-dialog/login-dialog.js +94 -145
  237. package/components/login-dialog/service.js +11 -33
  238. package/components/markdown/markdown.js +16 -29
  239. package/components/message/message.js +171 -218
  240. package/components/old-browsers-message/old-browsers-message.js +11 -14
  241. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  242. package/components/old-browsers-message/white-list.js +8 -13
  243. package/components/pager/pager.d.ts +1 -0
  244. package/components/pager/pager.js +211 -275
  245. package/components/panel/panel.d.ts +0 -5
  246. package/components/panel/panel.js +16 -27
  247. package/components/permissions/permissions.js +118 -161
  248. package/components/permissions/permissions__cache.js +191 -218
  249. package/components/popup/popup.consts.js +1 -1
  250. package/components/popup/popup.js +237 -329
  251. package/components/popup/popup.target.js +9 -12
  252. package/components/popup/position.js +94 -101
  253. package/components/popup-menu/popup-menu.js +31 -76
  254. package/components/progress-bar/progress-bar.d.ts +19 -33
  255. package/components/progress-bar/progress-bar.js +55 -99
  256. package/components/query-assist/query-assist.d.ts +63 -93
  257. package/components/query-assist/query-assist.js +585 -748
  258. package/components/query-assist/query-assist__suggestions.js +2 -28
  259. package/components/radio/radio.d.ts +0 -8
  260. package/components/radio/radio.js +15 -35
  261. package/components/radio/radio__item.d.ts +0 -9
  262. package/components/radio/radio__item.js +52 -72
  263. package/components/scrollable-section/scrollable-section.d.ts +2 -0
  264. package/components/scrollable-section/scrollable-section.js +53 -0
  265. package/components/select/select.d.ts +3 -0
  266. package/components/select/select.js +714 -863
  267. package/components/select/select__filter.js +2 -29
  268. package/components/select/select__popup.js +317 -465
  269. package/components/shortcuts/core.js +147 -195
  270. package/components/shortcuts/shortcut-title.js +6 -10
  271. package/components/shortcuts/shortcuts-hoc.d.ts +4 -9
  272. package/components/shortcuts/shortcuts-hoc.js +23 -46
  273. package/components/shortcuts/shortcuts.d.ts +0 -8
  274. package/components/shortcuts/shortcuts.js +41 -72
  275. package/components/slider/slider.js +93 -113
  276. package/components/slider/slider.utils.js +16 -23
  277. package/components/storage/storage.d.ts +2 -3
  278. package/components/storage/storage.js +2 -46
  279. package/components/storage/storage__local.js +89 -148
  280. package/components/style.css +1 -1
  281. package/components/tab-trap/tab-trap.js +35 -61
  282. package/components/table/cell.d.ts +0 -6
  283. package/components/table/cell.js +11 -27
  284. package/components/table/disable-hover-hoc.d.ts +4 -5
  285. package/components/table/disable-hover-hoc.js +27 -42
  286. package/components/table/header-cell.d.ts +0 -10
  287. package/components/table/header-cell.js +59 -85
  288. package/components/table/header.d.ts +1 -23
  289. package/components/table/header.js +89 -126
  290. package/components/table/multitable.d.ts +0 -4
  291. package/components/table/multitable.js +83 -93
  292. package/components/table/row-with-focus-sensor.d.ts +2 -2
  293. package/components/table/row-with-focus-sensor.js +26 -60
  294. package/components/table/row.js +170 -235
  295. package/components/table/selection-adapter.js +2 -2
  296. package/components/table/selection-shortcuts-hoc.js +102 -126
  297. package/components/table/selection.js +150 -217
  298. package/components/table/simple-table.d.ts +17 -0
  299. package/components/table/simple-table.js +83 -0
  300. package/components/table/smart-table.d.ts +0 -46
  301. package/components/table/smart-table.js +41 -83
  302. package/components/table/table.d.ts +9 -6
  303. package/components/table/table.js +270 -372
  304. package/components/tabs/collapsible-more.d.ts +1 -9
  305. package/components/tabs/collapsible-more.js +47 -97
  306. package/components/tabs/collapsible-tab.js +32 -44
  307. package/components/tabs/collapsible-tabs.d.ts +2 -29
  308. package/components/tabs/collapsible-tabs.js +89 -161
  309. package/components/tabs/custom-item.d.ts +1 -7
  310. package/components/tabs/custom-item.js +4 -7
  311. package/components/tabs/dumb-tabs.d.ts +0 -11
  312. package/components/tabs/dumb-tabs.js +60 -104
  313. package/components/tabs/smart-tabs.d.ts +0 -6
  314. package/components/tabs/smart-tabs.js +29 -68
  315. package/components/tabs/tab-link.d.ts +0 -8
  316. package/components/tabs/tab-link.js +1 -4
  317. package/components/tabs/tab.d.ts +0 -8
  318. package/components/tabs/tab.js +14 -32
  319. package/components/tabs/tabs.js +1 -28
  320. package/components/tag/tag.d.ts +0 -19
  321. package/components/tag/tag.js +120 -179
  322. package/components/tags-input/tags-input.d.ts +7 -33
  323. package/components/tags-input/tags-input.js +224 -339
  324. package/components/tags-list/tags-list.d.ts +0 -13
  325. package/components/tags-list/tags-list.js +45 -74
  326. package/components/text/text.d.ts +0 -7
  327. package/components/text/text.js +27 -43
  328. package/components/toggle/toggle.d.ts +0 -15
  329. package/components/toggle/toggle.js +53 -78
  330. package/components/tooltip/tooltip.d.ts +4 -10
  331. package/components/tooltip/tooltip.js +105 -137
  332. package/components/user-agreement/service.d.ts +2 -1
  333. package/components/user-agreement/service.js +260 -405
  334. package/components/user-agreement/user-agreement.d.ts +0 -18
  335. package/components/user-agreement/user-agreement.js +92 -138
  336. package/components/user-card/card.d.ts +0 -35
  337. package/components/user-card/card.js +2 -27
  338. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  339. package/components/user-card/smart-user-card-tooltip.js +52 -108
  340. package/components/user-card/tooltip.d.ts +0 -9
  341. package/components/user-card/tooltip.js +35 -74
  342. package/components/user-card/user-card.js +1 -26
  343. package/package.json +5 -7
  344. package/components/global/prop-types.d.ts +0 -4
  345. package/components/global/prop-types.js +0 -9
  346. package/components/global/react-render-adapter.d.ts +0 -1
  347. package/components/global/react-render-adapter.js +0 -6
  348. package/components/header/tray-icon.d.ts +0 -32
  349. package/components/header/tray-icon.js +0 -56
  350. package/components/storage/storage__fallback.d.ts +0 -79
  351. package/components/storage/storage__fallback.js +0 -253
@@ -1,39 +1,21 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, e as _classCallCheck, f as _callSuper, d as _objectSpread2, i as _slicedToArray } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.object.entries.js';
4
- import 'core-js/modules/es.object.to-string.js';
1
+ import { _ as _defineProperty, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
5
2
  import 'core-js/modules/es.regexp.exec.js';
6
- import 'core-js/modules/es.regexp.to-string.js';
7
3
  import 'core-js/modules/es.string.replace.js';
8
- import 'core-js/modules/web.dom-collections.for-each.js';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
5
  import { PureComponent } from 'react';
10
6
  import { createPortal } from 'react-dom';
11
- import PropTypes from 'prop-types';
12
7
  import classNames from 'classnames';
13
8
  import getUID from '../global/get-uid.js';
14
9
  import scheduleRAF from '../global/schedule-raf.js';
15
- import { getStyles, Listeners } from '../global/dom.js';
10
+ import { Listeners, getStyles } from '../global/dom.js';
16
11
  import Shortcuts from '../shortcuts/shortcuts.js';
17
12
  import joinDataTestAttributes from '../global/data-tests.js';
18
13
  import TabTrap from '../tab-trap/tab-trap.js';
19
14
  import position from './position.js';
20
- import { DEFAULT_DIRECTIONS, Directions, Dimension, MinWidth, MaxHeight, Display } from './popup.consts.js';
15
+ import { Display, DEFAULT_DIRECTIONS, Directions, Dimension, MinWidth, MaxHeight } from './popup.consts.js';
21
16
  import { PopupTargetContext, PopupTarget } from './popup.target.js';
22
17
  import { jsx, jsxs } from 'react/jsx-runtime';
23
- import 'core-js/modules/es.array.filter.js';
24
- import 'core-js/modules/es.array.iterator.js';
25
- import 'core-js/modules/es.object.assign.js';
26
- import 'core-js/modules/es.set.js';
27
- import 'core-js/modules/es.string.split.js';
28
- import 'core-js/modules/web.dom-collections.iterator.js';
29
- import 'core-js/modules/es.array.map.js';
30
18
  import '../shortcuts/core.js';
31
- import 'core-js/modules/es.array.find-index.js';
32
- import 'core-js/modules/es.array.includes.js';
33
- import 'core-js/modules/es.array.slice.js';
34
- import 'core-js/modules/es.array.splice.js';
35
- import 'core-js/modules/es.string.includes.js';
36
- import 'core-js/modules/es.string.match.js';
37
19
  import 'combokeys';
38
20
  import '../global/sniffer.js';
39
21
  import 'sniffr';
@@ -42,9 +24,9 @@ import 'core-js/modules/es.array.sort.js';
42
24
 
43
25
  var modules_2f69e2e2 = {"light":"light_rui_2ac4","popup":"popup_rui_871b font_rui_f295","hidden":"hidden_rui_871b","showing":"showing_rui_871b","attached":"attached_rui_871b"};
44
26
 
45
- var isPossibleClientSideNavigation = function isPossibleClientSideNavigation(event) {
46
- var target = event.target;
47
- var link = target.closest('a');
27
+ const isPossibleClientSideNavigation = event => {
28
+ const target = event.target;
29
+ const link = target.closest('a');
48
30
  // Taken from https://github.com/nanostores/router/blob/80a333db4cf0789fda21a02715ebabca15192642/index.js#L58-L69
49
31
  return link && event.button === 0 &&
50
32
  // Left mouse button
@@ -68,80 +50,70 @@ var isPossibleClientSideNavigation = function isPossibleClientSideNavigation(eve
68
50
  // Not open in new window by user
69
51
  !event.defaultPrevented;
70
52
  };
71
- var stop = function stop(event) {
53
+ const stop = event => {
72
54
  if (!isPossibleClientSideNavigation(event)) {
73
55
  event.stopPropagation();
74
56
  }
75
57
  };
76
- var getPopupContainer = function getPopupContainer(target) {
77
- return typeof target === 'string' ? document.querySelector("[data-portaltarget=".concat(target, "]")) : target;
78
- };
58
+ const getPopupContainer = target => typeof target === 'string' ? document.querySelector("[data-portaltarget=".concat(target, "]")) : target;
79
59
  /**
80
60
  * @constructor
81
61
  * @name Popup
82
62
  * @extends {ReactComponent}
83
63
  */
84
- var Popup = /*#__PURE__*/function (_PureComponent) {
85
- function Popup() {
86
- var _this;
87
- _classCallCheck(this, Popup);
88
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
89
- args[_key] = arguments[_key];
90
- }
91
- _this = _callSuper(this, Popup, [].concat(args));
92
- _defineProperty(_this, "state", {
64
+ class Popup extends PureComponent {
65
+ constructor() {
66
+ super(...arguments);
67
+ _defineProperty(this, "state", {
93
68
  display: Display.SHOWING
94
69
  });
95
- _defineProperty(_this, "popup", void 0);
96
- _defineProperty(_this, "node", void 0);
97
- _defineProperty(_this, "parent", void 0);
98
- _defineProperty(_this, "container", void 0);
99
- _defineProperty(_this, "ringPopupTarget", void 0);
100
- _defineProperty(_this, "listeners", new Listeners());
101
- _defineProperty(_this, "redrawScheduler", scheduleRAF(true));
102
- _defineProperty(_this, "uid", getUID('popup-'));
103
- _defineProperty(_this, "calculateDisplay", function (prevState) {
104
- return _objectSpread2(_objectSpread2({}, prevState), {}, {
105
- display: _this.props.hidden ? Display.SHOWING : Display.SHOWN
106
- });
107
- });
108
- _defineProperty(_this, "portalRef", function (el) {
109
- _this.node = el;
110
- _this.parent = el && el.parentElement;
111
- if (el && _this.getContainer()) {
112
- _this._redraw();
70
+ _defineProperty(this, "popup", void 0);
71
+ _defineProperty(this, "node", void 0);
72
+ _defineProperty(this, "parent", void 0);
73
+ _defineProperty(this, "container", void 0);
74
+ _defineProperty(this, "ringPopupTarget", void 0);
75
+ _defineProperty(this, "listeners", new Listeners());
76
+ _defineProperty(this, "redrawScheduler", scheduleRAF(true));
77
+ _defineProperty(this, "uid", getUID('popup-'));
78
+ _defineProperty(this, "calculateDisplay", prevState => _objectSpread2(_objectSpread2({}, prevState), {}, {
79
+ display: this.props.hidden ? Display.SHOWING : Display.SHOWN
80
+ }));
81
+ _defineProperty(this, "portalRef", el => {
82
+ this.node = el;
83
+ this.parent = el && el.parentElement;
84
+ if (el && this.getContainer()) {
85
+ this._redraw();
113
86
  }
114
87
  });
115
- _defineProperty(_this, "popupRef", function (el) {
116
- _this.popup = el;
117
- _this._redraw();
88
+ _defineProperty(this, "popupRef", el => {
89
+ this.popup = el;
90
+ this._redraw();
118
91
  });
119
- _defineProperty(_this, "containerRef", function (el) {
120
- _this.container = el;
92
+ _defineProperty(this, "containerRef", el => {
93
+ this.container = el;
121
94
  });
122
- _defineProperty(_this, "_updateDirection", function (newDirection) {
123
- if (_this.state.direction !== newDirection) {
124
- _this.setState({
95
+ _defineProperty(this, "_updateDirection", newDirection => {
96
+ if (this.state.direction !== newDirection) {
97
+ this.setState({
125
98
  direction: newDirection
126
99
  });
127
- if (_this.props.onDirectionChange) {
128
- _this.props.onDirectionChange(newDirection);
100
+ if (this.props.onDirectionChange) {
101
+ this.props.onDirectionChange(newDirection);
129
102
  }
130
103
  }
131
104
  });
132
- _defineProperty(_this, "_updatePosition", function () {
133
- var popup = _this.popup;
105
+ _defineProperty(this, "_updatePosition", () => {
106
+ const popup = this.popup;
134
107
  if (popup) {
135
108
  popup.style.position = 'absolute';
136
- if (_this.isVisible()) {
137
- var _this$position = _this.position(),
138
- style = _this$position.styles,
139
- direction = _this$position.direction;
140
- Object.entries(style).forEach(function (_ref) {
141
- var _ref2 = _slicedToArray(_ref, 2),
142
- key = _ref2[0],
143
- value = _ref2[1];
144
- var propKey = key;
109
+ if (this.isVisible()) {
110
+ const {
111
+ styles: style,
112
+ direction
113
+ } = this.position();
114
+ Object.entries(style).forEach(_ref => {
115
+ let [key, value] = _ref;
116
+ const propKey = key;
145
117
  if (typeof value === 'number') {
146
118
  popup.style[propKey] = "".concat(value, "px");
147
119
  } else {
@@ -149,243 +121,219 @@ var Popup = /*#__PURE__*/function (_PureComponent) {
149
121
  }
150
122
  });
151
123
  if (direction != null) {
152
- _this._updateDirection(direction);
124
+ this._updateDirection(direction);
153
125
  }
154
126
  }
155
- _this.setState(_this.calculateDisplay);
127
+ this.setState(this.calculateDisplay);
156
128
  }
157
129
  });
158
- _defineProperty(_this, "_redraw", function () {
159
- if (_this.isVisible()) {
160
- _this.redrawScheduler(_this._updatePosition);
130
+ _defineProperty(this, "_redraw", () => {
131
+ if (this.isVisible()) {
132
+ this.redrawScheduler(this._updatePosition);
161
133
  }
162
134
  });
163
- _defineProperty(_this, "_listenersEnabled", void 0);
164
- _defineProperty(_this, "_onEscPress", function (evt) {
165
- _this.props.onEscPress(evt);
166
- _this._onCloseAttempt(evt, true);
135
+ _defineProperty(this, "_listenersEnabled", void 0);
136
+ _defineProperty(this, "_onEscPress", evt => {
137
+ this.props.onEscPress(evt);
138
+ this._onCloseAttempt(evt, true);
167
139
  });
168
140
  /**
169
141
  * @param {jQuery.Event} evt
170
142
  * @private
171
143
  */
172
- _defineProperty(_this, "_onDocumentClick", function (evt) {
144
+ _defineProperty(this, "_onDocumentClick", evt => {
173
145
  var _this$_getAnchor;
174
- if (_this.container && evt.target instanceof Node && _this.container.contains(evt.target) || !_this._listenersEnabled || _this.props.dontCloseOnAnchorClick && evt.target instanceof Node && (_this$_getAnchor = _this._getAnchor()) !== null && _this$_getAnchor !== void 0 && _this$_getAnchor.contains(evt.target)) {
146
+ if (this.container && evt.target instanceof Node && this.container.contains(evt.target) || !this._listenersEnabled || this.props.dontCloseOnAnchorClick && evt.target instanceof Node && (_this$_getAnchor = this._getAnchor()) !== null && _this$_getAnchor !== void 0 && _this$_getAnchor.contains(evt.target)) {
175
147
  return;
176
148
  }
177
- _this.props.onOutsideClick(evt);
178
- _this._onCloseAttempt(evt, false);
149
+ this.props.onOutsideClick(evt);
150
+ this._onCloseAttempt(evt, false);
179
151
  });
180
- _defineProperty(_this, "shortcutsScope", _this.uid);
181
- _defineProperty(_this, "shortcutsMap", {
182
- esc: _this._onEscPress
152
+ _defineProperty(this, "shortcutsScope", this.uid);
153
+ _defineProperty(this, "shortcutsMap", {
154
+ esc: this._onEscPress
183
155
  });
184
- return _this;
185
156
  }
186
- _inherits(Popup, _PureComponent);
187
- return _createClass(Popup, [{
188
- key: "componentDidMount",
189
- value: function componentDidMount() {
190
- if (!this.props.client) {
191
- this.setState({
192
- client: true
193
- });
194
- }
195
- if (!this.props.hidden) {
196
- this._setListenersEnabled(true);
197
- }
198
- }
199
- }, {
200
- key: "componentDidUpdate",
201
- value: function componentDidUpdate(prevProps, prevState) {
202
- var hidden = this.props.hidden;
203
- if (this.props !== prevProps) {
204
- if (prevProps.hidden !== hidden) {
205
- this._setListenersEnabled(!hidden);
206
- }
207
- this._redraw();
208
- }
209
- if (this.props.onShow && !hidden && this.state.display === Display.SHOWN && (prevProps.hidden || prevState.display !== Display.SHOWN)) {
210
- this.props.onShow();
211
- }
212
- }
213
- }, {
214
- key: "componentWillUnmount",
215
- value: function componentWillUnmount() {
216
- this._setListenersEnabled(false);
217
- }
218
- }, {
219
- key: "shouldUseShortcuts",
220
- value: function shouldUseShortcuts() {
221
- var _this$props = this.props,
222
- shortcuts = _this$props.shortcuts,
223
- hidden = _this$props.hidden;
224
- return shortcuts && !hidden;
225
- }
226
- }, {
227
- key: "getContainer",
228
- value: function getContainer() {
229
- var target = this.props.target || this.ringPopupTarget;
230
- return target && getPopupContainer(target);
231
- }
232
- }, {
233
- key: "position",
234
- value: function position$1() {
235
- var _this$props2 = this.props,
236
- directions = _this$props2.directions,
237
- autoPositioning = _this$props2.autoPositioning,
238
- autoCorrectTopOverflow = _this$props2.autoCorrectTopOverflow,
239
- sidePadding = _this$props2.sidePadding,
240
- top = _this$props2.top,
241
- left = _this$props2.left,
242
- offset = _this$props2.offset,
243
- maxHeight = _this$props2.maxHeight,
244
- minWidth = _this$props2.minWidth;
245
- var container = this.getContainer();
246
- return position({
247
- popup: this.popup,
248
- container: container && getStyles(container).position !== 'static' ? container : null,
249
- anchor: this._getAnchor(),
250
- directions,
251
- autoPositioning,
252
- autoCorrectTopOverflow,
253
- sidePadding,
254
- top,
255
- left,
256
- offset,
257
- maxHeight,
258
- minWidth
157
+ componentDidMount() {
158
+ if (!this.props.client) {
159
+ this.setState({
160
+ client: true
259
161
  });
260
162
  }
261
- }, {
262
- key: "_getAnchor",
263
- value: function _getAnchor() {
264
- return this.props.anchorElement || this.parent;
163
+ if (!this.props.hidden) {
164
+ this._setListenersEnabled(true);
265
165
  }
266
- }, {
267
- key: "_setListenersEnabled",
268
- value:
269
- /**
270
- * @param {boolean} enable
271
- * @private
272
- */
273
- function _setListenersEnabled(enable) {
274
- var _this2 = this;
275
- if (enable && !this._listenersEnabled) {
276
- setTimeout(function () {
277
- _this2._listenersEnabled = true;
278
- _this2.listeners.add(window, 'resize', _this2._redraw);
279
- if (_this2.props.autoPositioningOnScroll) {
280
- _this2.listeners.add(window, 'scroll', _this2._redraw);
281
- }
282
- _this2.listeners.add(document, 'pointerdown', _this2._onDocumentClick, true);
283
- var el = _this2._getAnchor();
284
- while (el) {
285
- _this2.listeners.add(el, 'scroll', _this2._redraw);
286
- el = el.parentElement;
287
- }
288
- }, 0);
289
- return;
290
- }
291
- if (!enable && this._listenersEnabled) {
292
- this.listeners.removeAll();
293
- this._listenersEnabled = false;
166
+ }
167
+ componentDidUpdate(prevProps, prevState) {
168
+ const {
169
+ hidden
170
+ } = this.props;
171
+ if (this.props !== prevProps) {
172
+ if (prevProps.hidden !== hidden) {
173
+ this._setListenersEnabled(!hidden);
294
174
  }
175
+ this._redraw();
295
176
  }
296
- /**
297
- * Returns visibility state
298
- * @return {boolean}
299
- */
300
- }, {
301
- key: "isVisible",
302
- value: function isVisible() {
303
- return !this.props.hidden;
304
- }
305
- }, {
306
- key: "_onCloseAttempt",
307
- value: function _onCloseAttempt(evt, isEsc) {
308
- this.props.onCloseAttempt(evt, isEsc);
177
+ if (this.props.onShow && !hidden && this.state.display === Display.SHOWN && (prevProps.hidden || prevState.display !== Display.SHOWN)) {
178
+ this.props.onShow();
309
179
  }
310
- }, {
311
- key: "getInternalContent",
312
- value: function getInternalContent() {
313
- var _this$props3 = this.props,
314
- trapFocus = _this$props3.trapFocus,
315
- autoFocusFirst = _this$props3.autoFocusFirst,
316
- children = _this$props3.children;
317
- return trapFocus ? /*#__PURE__*/jsx(TabTrap, {
318
- autoFocusFirst: autoFocusFirst,
319
- focusBackOnExit: true,
320
- children: children
321
- }) : children;
322
- }
323
- }, {
324
- key: "render",
325
- value: function render() {
326
- var _this3 = this;
327
- var _this$props4 = this.props,
328
- className = _this$props4.className,
329
- style = _this$props4.style,
330
- hidden = _this$props4.hidden,
331
- attached = _this$props4.attached,
332
- keepMounted = _this$props4.keepMounted,
333
- client = _this$props4.client,
334
- onMouseDown = _this$props4.onMouseDown,
335
- onMouseUp = _this$props4.onMouseUp,
336
- onMouseOver = _this$props4.onMouseOver,
337
- onMouseOut = _this$props4.onMouseOut,
338
- onContextMenu = _this$props4.onContextMenu,
339
- dataTest = _this$props4['data-test'];
340
- var showing = this.state.display === Display.SHOWING;
341
- var classes = classNames(className, modules_2f69e2e2.popup, {
342
- [modules_2f69e2e2.attached]: attached,
343
- [modules_2f69e2e2.hidden]: hidden,
344
- [modules_2f69e2e2.showing]: showing
345
- });
346
- var direction = (this.state.direction || '').toLowerCase().replace(/[_]/g, '-');
347
- return /*#__PURE__*/jsx(PopupTargetContext.Consumer, {
348
- children: function children(value) {
349
- _this3.ringPopupTarget = value;
350
- return /*#__PURE__*/jsxs("span", {
351
- // prevent bubbling through portal
352
- onClick: stop
353
- // This handler only blocks bubbling through React portal
354
- ,
355
- role: "presentation",
356
- ref: _this3.portalRef,
357
- children: [_this3.shouldUseShortcuts() && /*#__PURE__*/jsx(Shortcuts, {
358
- map: _this3.shortcutsMap,
359
- scope: _this3.shortcutsScope
360
- }), (client || _this3.state.client) && (keepMounted || !hidden) && /*#__PURE__*/createPortal( /*#__PURE__*/jsx(PopupTarget, {
361
- id: _this3.uid,
362
- ref: _this3.containerRef,
363
- onMouseOver: onMouseOver,
364
- onFocus: onMouseOver,
365
- onMouseOut: onMouseOut,
366
- onBlur: onMouseOut,
367
- onContextMenu: onContextMenu,
368
- children: /*#__PURE__*/jsx("div", {
369
- "data-test": joinDataTestAttributes('ring-popup', dataTest),
370
- "data-test-shown": !hidden && !showing,
371
- "data-test-direction": direction,
372
- ref: _this3.popupRef,
373
- className: classes,
374
- style: style,
375
- onMouseDown: onMouseDown,
376
- onMouseUp: onMouseUp
377
- // mouse handlers are used to track clicking on inner elements
378
- ,
379
- role: "presentation",
380
- children: _this3.getInternalContent()
381
- })
382
- }), _this3.getContainer() || document.body)]
383
- });
180
+ }
181
+ componentWillUnmount() {
182
+ this._setListenersEnabled(false);
183
+ }
184
+ shouldUseShortcuts() {
185
+ const {
186
+ shortcuts,
187
+ hidden
188
+ } = this.props;
189
+ return shortcuts && !hidden;
190
+ }
191
+ getContainer() {
192
+ const target = this.props.target || this.ringPopupTarget;
193
+ return target && getPopupContainer(target);
194
+ }
195
+ position() {
196
+ const {
197
+ directions,
198
+ autoPositioning,
199
+ autoCorrectTopOverflow,
200
+ sidePadding,
201
+ top,
202
+ left,
203
+ offset,
204
+ maxHeight,
205
+ minWidth
206
+ } = this.props;
207
+ const container = this.getContainer();
208
+ return position({
209
+ popup: this.popup,
210
+ container: container && getStyles(container).position !== 'static' ? container : null,
211
+ anchor: this._getAnchor(),
212
+ directions,
213
+ autoPositioning,
214
+ autoCorrectTopOverflow,
215
+ sidePadding,
216
+ top,
217
+ left,
218
+ offset,
219
+ maxHeight,
220
+ minWidth
221
+ });
222
+ }
223
+ _getAnchor() {
224
+ return this.props.anchorElement || this.parent;
225
+ }
226
+ /**
227
+ * @param {boolean} enable
228
+ * @private
229
+ */
230
+ _setListenersEnabled(enable) {
231
+ if (enable && !this._listenersEnabled) {
232
+ setTimeout(() => {
233
+ this._listenersEnabled = true;
234
+ this.listeners.add(window, 'resize', this._redraw);
235
+ if (this.props.autoPositioningOnScroll) {
236
+ this.listeners.add(window, 'scroll', this._redraw);
384
237
  }
385
- });
238
+ this.listeners.add(document, 'pointerdown', this._onDocumentClick, true);
239
+ let el = this._getAnchor();
240
+ while (el) {
241
+ this.listeners.add(el, 'scroll', this._redraw);
242
+ el = el.parentElement;
243
+ }
244
+ }, 0);
245
+ return;
386
246
  }
387
- }]);
388
- }(PureComponent);
247
+ if (!enable && this._listenersEnabled) {
248
+ this.listeners.removeAll();
249
+ this._listenersEnabled = false;
250
+ }
251
+ }
252
+ /**
253
+ * Returns visibility state
254
+ * @return {boolean}
255
+ */
256
+ isVisible() {
257
+ return !this.props.hidden;
258
+ }
259
+ _onCloseAttempt(evt, isEsc) {
260
+ this.props.onCloseAttempt(evt, isEsc);
261
+ }
262
+ getInternalContent() {
263
+ const {
264
+ trapFocus,
265
+ autoFocusFirst,
266
+ children
267
+ } = this.props;
268
+ return trapFocus ? /*#__PURE__*/jsx(TabTrap, {
269
+ autoFocusFirst: autoFocusFirst,
270
+ focusBackOnExit: true,
271
+ children: children
272
+ }) : children;
273
+ }
274
+ render() {
275
+ const {
276
+ className,
277
+ style,
278
+ hidden,
279
+ attached,
280
+ keepMounted,
281
+ client,
282
+ onMouseDown,
283
+ onMouseUp,
284
+ onMouseOver,
285
+ onMouseOut,
286
+ onContextMenu,
287
+ 'data-test': dataTest
288
+ } = this.props;
289
+ const showing = this.state.display === Display.SHOWING;
290
+ const classes = classNames(className, modules_2f69e2e2.popup, {
291
+ [modules_2f69e2e2.attached]: attached,
292
+ [modules_2f69e2e2.hidden]: hidden,
293
+ [modules_2f69e2e2.showing]: showing
294
+ });
295
+ const direction = (this.state.direction || '').toLowerCase().replace(/[_]/g, '-');
296
+ return /*#__PURE__*/jsx(PopupTargetContext.Consumer, {
297
+ children: value => {
298
+ this.ringPopupTarget = value;
299
+ return /*#__PURE__*/jsxs("span", {
300
+ // prevent bubbling through portal
301
+ onClick: stop
302
+ // This handler only blocks bubbling through React portal
303
+ ,
304
+ role: "presentation",
305
+ ref: this.portalRef,
306
+ children: [this.shouldUseShortcuts() && /*#__PURE__*/jsx(Shortcuts, {
307
+ map: this.shortcutsMap,
308
+ scope: this.shortcutsScope
309
+ }), (client || this.state.client) && (keepMounted || !hidden) && /*#__PURE__*/createPortal(/*#__PURE__*/jsx(PopupTarget, {
310
+ id: this.uid,
311
+ ref: this.containerRef,
312
+ onMouseOver: onMouseOver,
313
+ onFocus: onMouseOver,
314
+ onMouseOut: onMouseOut,
315
+ onBlur: onMouseOut,
316
+ onContextMenu: onContextMenu,
317
+ children: /*#__PURE__*/jsx("div", {
318
+ "data-test": joinDataTestAttributes('ring-popup', dataTest),
319
+ "data-test-shown": !hidden && !showing,
320
+ "data-test-direction": direction,
321
+ ref: this.popupRef,
322
+ className: classes,
323
+ style: style,
324
+ onMouseDown: onMouseDown,
325
+ onMouseUp: onMouseUp
326
+ // mouse handlers are used to track clicking on inner elements
327
+ ,
328
+ role: "presentation",
329
+ children: this.getInternalContent()
330
+ })
331
+ }), this.getContainer() || document.body)]
332
+ });
333
+ }
334
+ });
335
+ }
336
+ }
389
337
  _defineProperty(Popup, "defaultProps", {
390
338
  shortcuts: true,
391
339
  hidden: false,
@@ -413,45 +361,5 @@ _defineProperty(Popup, "PopupProps", {
413
361
  MinWidth,
414
362
  MaxHeight
415
363
  });
416
- Popup.propTypes = {
417
- anchorElement: PropTypes.instanceOf(Node),
418
- target: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Element)]),
419
- className: PropTypes.string,
420
- style: PropTypes.object,
421
- hidden: PropTypes.bool.isRequired,
422
- onOutsideClick: PropTypes.func,
423
- onEscPress: PropTypes.func,
424
- // onCloseAttempt is a common callback for ESC pressing and outside clicking.
425
- // Use it if you don't need different behaviors for this cases.
426
- onCloseAttempt: PropTypes.func,
427
- children: PropTypes.node.isRequired,
428
- dontCloseOnAnchorClick: PropTypes.bool,
429
- shortcuts: PropTypes.bool,
430
- keepMounted: PropTypes.bool,
431
- // pass this prop to preserve the popup's DOM state while hidden
432
- 'data-test': PropTypes.string,
433
- client: PropTypes.bool,
434
- // true means that it's never used in SSR
435
- directions: PropTypes.arrayOf(PropTypes.string),
436
- autoPositioning: PropTypes.bool,
437
- autoCorrectTopOverflow: PropTypes.bool,
438
- left: PropTypes.number,
439
- top: PropTypes.number,
440
- maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
441
- minWidth: PropTypes.number,
442
- sidePadding: PropTypes.number,
443
- attached: PropTypes.bool,
444
- // Popup adjacent to an input, without upper border and shadow
445
- onMouseDown: PropTypes.func,
446
- onMouseUp: PropTypes.func,
447
- onMouseOver: PropTypes.func,
448
- onMouseOut: PropTypes.func,
449
- onContextMenu: PropTypes.func,
450
- onDirectionChange: PropTypes.func,
451
- onShow: PropTypes.func,
452
- // set to true whenever popup contains focusable and scrollable content
453
- trapFocus: PropTypes.bool,
454
- autoFocusFirst: PropTypes.bool
455
- };
456
364
 
457
365
  export { PopupTarget, PopupTargetContext, Popup as default, getPopupContainer };