@jetbrains/ring-ui 5.1.1 → 6.0.1-beta.0

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 (702) hide show
  1. package/README.md +1 -6
  2. package/components/alert/alert.d.ts +1 -1
  3. package/components/alert/container.css +3 -0
  4. package/components/alert-service/alert-service.d.ts +2 -2
  5. package/components/analytics/analytics.d.ts +21 -7
  6. package/components/analytics/analytics.js +19 -24
  7. package/components/analytics/analytics__custom-plugin.d.ts +6 -16
  8. package/components/analytics/analytics__custom-plugin.js +12 -52
  9. package/components/analytics/analytics__fus-plugin.d.ts +15 -25
  10. package/components/analytics/analytics__fus-plugin.js +15 -73
  11. package/components/analytics/analytics__ga-plugin.d.ts +13 -3
  12. package/components/analytics/analytics__ga-plugin.js +35 -5
  13. package/components/analytics/analytics__plugin-utils.d.ts +16 -0
  14. package/components/analytics/analytics__plugin-utils.js +26 -1
  15. package/components/auth/auth__core.d.ts +5 -4
  16. package/components/auth/auth__core.js +44 -27
  17. package/components/auth-dialog/auth-dialog.d.ts +2 -2
  18. package/components/auth-dialog/auth-dialog.js +3 -1
  19. package/components/auth-dialog-service/auth-dialog-service.js +4 -1
  20. package/components/avatar/avatar.d.ts +3 -3
  21. package/components/avatar/fallback-avatar.d.ts +2 -2
  22. package/components/avatar/fallback-avatar.js +2 -1
  23. package/components/avatar-editor-ng/avatar-editor-ng.css +1 -1
  24. package/components/badge/badge.d.ts +2 -2
  25. package/components/button/button.css +7 -7
  26. package/components/button/button.d.ts +3 -4
  27. package/components/button/button.js +0 -1
  28. package/components/button-group/button-group.css +2 -2
  29. package/components/button-group/button-group.d.ts +2 -2
  30. package/components/button-group/caption.d.ts +2 -2
  31. package/components/button-ng/button-ng.examples.js +2 -2
  32. package/components/button-ng/button-ng.js +1 -1
  33. package/components/button-set/button-set.d.ts +2 -2
  34. package/components/button-toolbar/button-toolbar.d.ts +2 -2
  35. package/components/checkbox/checkbox.css +2 -2
  36. package/components/checkbox/checkbox.d.ts +2 -2
  37. package/components/code/code.d.ts +1 -1
  38. package/components/confirm/confirm.d.ts +1 -1
  39. package/components/confirm/confirm.js +3 -3
  40. package/components/confirm-ng/confirm-ng.examples.js +1 -1
  41. package/components/confirm-service/confirm-service.js +2 -2
  42. package/components/content-layout/content-layout.d.ts +2 -2
  43. package/components/content-layout/sidebar.d.ts +2 -2
  44. package/components/contenteditable/contenteditable.d.ts +3 -3
  45. package/components/control-label/control-label.css +23 -0
  46. package/components/control-label/control-label.d.ts +11 -0
  47. package/components/control-label/control-label.js +22 -0
  48. package/components/data-list/data-list.css +2 -1
  49. package/components/data-list/data-list.d.ts +3 -3
  50. package/components/data-list/data-list.mock.d.ts +2 -2
  51. package/components/data-list/item.d.ts +3 -3
  52. package/components/data-list/title.d.ts +1 -1
  53. package/components/date-picker/consts.d.ts +5 -5
  54. package/components/date-picker/date-input.d.ts +3 -12
  55. package/components/date-picker/date-input.js +9 -15
  56. package/components/date-picker/date-picker.css +1 -1
  57. package/components/date-picker/date-picker.d.ts +8 -6
  58. package/components/date-picker/date-picker.js +9 -15
  59. package/components/date-picker/date-popup.d.ts +1 -1
  60. package/components/date-picker/date-popup.js +2 -1
  61. package/components/date-picker/day.d.ts +2 -2
  62. package/components/date-picker/month-names.d.ts +2 -2
  63. package/components/date-picker/month-names.js +2 -2
  64. package/components/date-picker/month-slider.d.ts +2 -2
  65. package/components/date-picker/month.d.ts +2 -2
  66. package/components/date-picker/months.d.ts +2 -2
  67. package/components/date-picker/months.js +46 -29
  68. package/components/date-picker/weekdays.d.ts +2 -2
  69. package/components/date-picker/years.d.ts +6 -2
  70. package/components/date-picker/years.js +26 -14
  71. package/components/dialog/dialog.css +1 -1
  72. package/components/dialog/dialog.d.ts +4 -16
  73. package/components/dialog/dialog.js +4 -2
  74. package/components/dialog-ng/dialog-ng.examples.js +1 -1
  75. package/components/dialog-ng/dialog-ng.js +4 -5
  76. package/components/dropdown/anchor.d.ts +1 -1
  77. package/components/dropdown/dropdown.d.ts +8 -1
  78. package/components/editable-heading/editable-heading.css +20 -7
  79. package/components/editable-heading/editable-heading.d.ts +2 -2
  80. package/components/editable-heading/editable-heading.js +39 -12
  81. package/components/error-bubble/error-bubble.d.ts +2 -2
  82. package/components/error-message/error-message.d.ts +2 -2
  83. package/components/footer/footer.js +1 -0
  84. package/components/form/form.examples.js +1 -0
  85. package/components/global/angular-component-factory.js +13 -7
  86. package/components/global/angular-component-factory.test.js +30 -10
  87. package/components/global/controls-height.d.ts +2 -0
  88. package/components/global/controls-height.js +8 -0
  89. package/components/global/create-stateful-context.d.ts +1 -1
  90. package/components/global/focus-sensor-hoc.d.ts +1 -0
  91. package/components/global/focus-sensor-hoc.js +5 -4
  92. package/components/global/react-dom-renderer.d.ts +4 -4
  93. package/components/global/react-dom-renderer.js +5 -5
  94. package/components/global/react-render-adapter.js +19 -31
  95. package/components/global/ring-angular-component.js +1 -3
  96. package/components/global/ring-angular-component.test.js +2 -1
  97. package/components/global/use-event-callback.d.ts +1 -0
  98. package/components/global/use-event-callback.js +14 -0
  99. package/components/global/variables_dark.css +2 -2
  100. package/components/grid/col.d.ts +2 -2
  101. package/components/grid/grid.d.ts +2 -2
  102. package/components/grid/row.d.ts +2 -2
  103. package/components/group/group.d.ts +2 -2
  104. package/components/header/header.d.ts +2 -2
  105. package/components/header/logo.d.ts +2 -2
  106. package/components/header/profile.d.ts +4 -2
  107. package/components/header/profile.js +15 -11
  108. package/components/header/services-link.d.ts +2 -2
  109. package/components/header/services.d.ts +2 -2
  110. package/components/header/smart-profile.d.ts +2 -2
  111. package/components/header/smart-services.d.ts +2 -2
  112. package/components/header/tray-icon.d.ts +2 -2
  113. package/components/header/tray.d.ts +2 -2
  114. package/components/heading/heading.css +8 -8
  115. package/components/http/http.d.ts +16 -6
  116. package/components/http/http.js +26 -0
  117. package/components/hub-source/hub-source__users-groups.d.ts +1 -1
  118. package/components/i18n/README.md +46 -0
  119. package/components/i18n/i18n-context.d.ts +13 -0
  120. package/components/i18n/i18n-context.js +14 -0
  121. package/components/i18n/i18n.d.ts +59 -0
  122. package/components/i18n/i18n.js +26 -0
  123. package/components/i18n/messages.json +53 -0
  124. package/components/icon/icon.d.ts +3 -3
  125. package/components/icon/icon__svg.d.ts +1 -1
  126. package/components/input/input-legacy.css +3 -3
  127. package/components/input/input.css +8 -21
  128. package/components/input/input.d.ts +7 -1
  129. package/components/input/input.js +18 -14
  130. package/components/input-ng/input-ng.examples.js +3 -1
  131. package/components/input-ng/input-ng.js +3 -2
  132. package/components/input-size/input-size.examples.js +1 -0
  133. package/components/island/adaptive-island-hoc.d.ts +2 -2
  134. package/components/island/content.d.ts +1 -1
  135. package/components/island/header.d.ts +2 -2
  136. package/components/island/island.css +1 -1
  137. package/components/island/island.d.ts +3 -3
  138. package/components/island-legacy/content-legacy.d.ts +2 -2
  139. package/components/island-legacy/header-legacy.d.ts +2 -2
  140. package/components/island-legacy/island-legacy.d.ts +2 -2
  141. package/components/island-ng/island-ng.js +3 -3
  142. package/components/link/clickableLink.d.ts +1 -1
  143. package/components/link/link.css +1 -1
  144. package/components/link/link.d.ts +8 -9
  145. package/components/link/link.js +0 -1
  146. package/components/list/consts.js +3 -0
  147. package/components/list/list.css +2 -2
  148. package/components/list/list.d.ts +7 -7
  149. package/components/list/list.js +4 -1
  150. package/components/list/list__custom.d.ts +1 -1
  151. package/components/list/list__hint.d.ts +2 -2
  152. package/components/list/list__item.d.ts +2 -2
  153. package/components/list/list__link.d.ts +2 -2
  154. package/components/list/list__separator.d.ts +2 -2
  155. package/components/list/list__title.d.ts +2 -2
  156. package/components/loader/loader.d.ts +2 -2
  157. package/components/loader-inline/loader-inline.d.ts +2 -2
  158. package/components/loader-ng/loader-ng.js +1 -1
  159. package/components/loader-screen/loader-screen.d.ts +2 -2
  160. package/components/login-dialog/login-dialog.d.ts +2 -2
  161. package/components/login-dialog/service.js +4 -1
  162. package/components/markdown/code.d.ts +2 -2
  163. package/components/markdown/heading.d.ts +2 -2
  164. package/components/markdown/link.d.ts +2 -2
  165. package/components/markdown/markdown.d.ts +2 -2
  166. package/components/message/message.d.ts +3 -7
  167. package/components/message/message.js +17 -16
  168. package/components/pager/pager.d.ts +8 -13
  169. package/components/pager/pager.js +12 -14
  170. package/components/panel/panel.css +1 -1
  171. package/components/panel/panel.d.ts +2 -2
  172. package/components/popup/popup.d.ts +2 -2
  173. package/components/popup/popup.js +1 -1
  174. package/components/popup/position.d.ts +1 -1
  175. package/components/popup/position.js +43 -33
  176. package/components/popup-menu/popup-menu.d.ts +2 -2
  177. package/components/progress-bar/progress-bar.d.ts +2 -2
  178. package/components/promised-click-ng/promised-click-ng.js +1 -1
  179. package/components/query-assist/query-assist.css +16 -11
  180. package/components/query-assist/query-assist.d.ts +3 -7
  181. package/components/query-assist/query-assist.js +50 -31
  182. package/components/query-assist/query-assist__suggestions.d.ts +2 -2
  183. package/components/radio/radio.css +1 -1
  184. package/components/radio/radio.d.ts +1 -1
  185. package/components/radio/radio__item.d.ts +1 -1
  186. package/components/select/select-popup.css +2 -2
  187. package/components/select/select.css +9 -5
  188. package/components/select/select.d.ts +20 -9
  189. package/components/select/select.js +47 -23
  190. package/components/select/select__filter.d.ts +2 -3
  191. package/components/select/select__filter.js +4 -2
  192. package/components/select/select__popup.d.ts +48 -8
  193. package/components/select/select__popup.js +29 -8
  194. package/components/shortcuts/shortcuts-hoc.d.ts +2 -2
  195. package/components/shortcuts/shortcuts.d.ts +1 -1
  196. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -2
  197. package/components/sidebar-ng/sidebar-ng.js +1 -2
  198. package/components/tab-trap/tab-trap.d.ts +1 -1
  199. package/components/table/cell.d.ts +2 -2
  200. package/components/table/disable-hover-hoc.d.ts +2 -2
  201. package/components/table/header-cell.d.ts +2 -2
  202. package/components/table/header.d.ts +3 -14
  203. package/components/table/header.js +5 -49
  204. package/components/table/multitable.d.ts +2 -2
  205. package/components/table/row-with-focus-sensor.d.ts +1 -1
  206. package/components/table/row.d.ts +2 -1
  207. package/components/table/row.js +4 -3
  208. package/components/table/smart-table.d.ts +3 -1
  209. package/components/table/table.css +9 -26
  210. package/components/table/table.d.ts +6 -4
  211. package/components/table/table.js +5 -3
  212. package/components/tabs/collapsible-more.d.ts +3 -3
  213. package/components/tabs/collapsible-tab.d.ts +1 -1
  214. package/components/tabs/collapsible-tabs.d.ts +2 -2
  215. package/components/tabs/dumb-tabs.d.ts +5 -3
  216. package/components/tabs/dumb-tabs.js +3 -2
  217. package/components/tabs/smart-tabs.d.ts +2 -2
  218. package/components/tabs/tab-link.d.ts +1 -1
  219. package/components/tabs/tab.d.ts +2 -2
  220. package/components/tabs/tab.js +3 -3
  221. package/components/tabs/tabs.css +4 -1
  222. package/components/tag/tag.css +3 -3
  223. package/components/tag/tag.d.ts +5 -5
  224. package/components/tags-input/tags-input.css +1 -1
  225. package/components/tags-input/tags-input.d.ts +9 -4
  226. package/components/tags-input/tags-input.js +7 -7
  227. package/components/tags-list/tags-list.d.ts +2 -2
  228. package/components/template-ng/template-ng.js +1 -2
  229. package/components/text/text.css +12 -0
  230. package/components/text/text.d.ts +8 -2
  231. package/components/text/text.js +12 -2
  232. package/components/toggle/toggle.css +1 -1
  233. package/components/toggle/toggle.d.ts +2 -2
  234. package/components/tooltip/tooltip.d.ts +1 -1
  235. package/components/user-agreement/service.js +4 -1
  236. package/components/user-agreement/user-agreement.d.ts +3 -11
  237. package/components/user-agreement/user-agreement.js +31 -30
  238. package/components/user-card/card.d.ts +22 -21
  239. package/components/user-card/card.js +29 -29
  240. package/components/user-card/smart-user-card-tooltip.d.ts +3 -3
  241. package/components/user-card/tooltip.d.ts +11 -6
  242. package/components/user-card/tooltip.js +1 -1
  243. package/components/user-card/user-card.css +10 -1
  244. package/dist/_helpers/_rollupPluginBabelHelpers.js +614 -1
  245. package/dist/_helpers/anchor.js +7 -8
  246. package/dist/_helpers/badge.js +1 -1
  247. package/dist/_helpers/button-group.js +1 -1
  248. package/dist/_helpers/button-set.js +1 -1
  249. package/dist/_helpers/button-toolbar.js +1 -1
  250. package/dist/_helpers/button__classes.js +17 -29
  251. package/dist/_helpers/card.js +100 -91
  252. package/dist/_helpers/checkbox.js +1 -1
  253. package/dist/_helpers/control-label.js +3 -0
  254. package/dist/_helpers/date-picker.js +1 -1
  255. package/dist/_helpers/dialog__body-scroll-preventer.js +21 -12
  256. package/dist/_helpers/error-message.js +1 -1
  257. package/dist/_helpers/footer.js +31 -35
  258. package/dist/_helpers/grid.js +1 -1
  259. package/dist/_helpers/group.js +1 -1
  260. package/dist/_helpers/header.js +1 -1
  261. package/dist/_helpers/icon.js +1 -1
  262. package/dist/_helpers/input.js +1 -1
  263. package/dist/_helpers/island.js +1 -1
  264. package/dist/_helpers/link.js +1 -1
  265. package/dist/_helpers/list.js +1 -1
  266. package/dist/_helpers/loader-inline.js +1 -1
  267. package/dist/_helpers/loader-screen.js +1 -1
  268. package/dist/_helpers/panel.js +1 -1
  269. package/dist/_helpers/query-assist__suggestions.js +92 -75
  270. package/dist/_helpers/radio.js +1 -1
  271. package/dist/_helpers/select__filter.js +69 -42
  272. package/dist/_helpers/services-link.js +33 -21
  273. package/dist/_helpers/sidebar.js +87 -86
  274. package/dist/_helpers/table.js +1 -1
  275. package/dist/_helpers/tabs.js +1 -1
  276. package/dist/_helpers/theme.js +43 -36
  277. package/dist/_helpers/title.js +66 -56
  278. package/dist/alert/alert.d.ts +1 -1
  279. package/dist/alert/alert.js +164 -127
  280. package/dist/alert/container.js +40 -29
  281. package/dist/alert-service/alert-service.d.ts +2 -2
  282. package/dist/alert-service/alert-service.js +169 -103
  283. package/dist/analytics/analytics.d.ts +21 -7
  284. package/dist/analytics/analytics.js +90 -71
  285. package/dist/analytics/analytics__custom-plugin.d.ts +6 -16
  286. package/dist/analytics/analytics__custom-plugin.js +74 -87
  287. package/dist/analytics/analytics__fus-plugin.d.ts +15 -25
  288. package/dist/analytics/analytics__fus-plugin.js +31 -89
  289. package/dist/analytics/analytics__ga-plugin.d.ts +13 -3
  290. package/dist/analytics/analytics__ga-plugin.js +76 -25
  291. package/dist/analytics/analytics__plugin-utils.d.ts +16 -0
  292. package/dist/analytics/analytics__plugin-utils.js +52 -21
  293. package/dist/auth/auth.js +39 -5
  294. package/dist/auth/auth__core.d.ts +5 -4
  295. package/dist/auth/auth__core.js +1459 -719
  296. package/dist/auth/background-flow.js +125 -84
  297. package/dist/auth/down-notification.js +76 -32
  298. package/dist/auth/iframe-flow.js +129 -69
  299. package/dist/auth/landing.js +93 -31
  300. package/dist/auth/request-builder.js +79 -45
  301. package/dist/auth/response-parser.js +117 -85
  302. package/dist/auth/storage.js +322 -161
  303. package/dist/auth/token-validator.js +239 -128
  304. package/dist/auth/window-flow.js +126 -83
  305. package/dist/auth-dialog/auth-dialog.d.ts +2 -2
  306. package/dist/auth-dialog/auth-dialog.js +152 -94
  307. package/dist/auth-dialog-service/auth-dialog-service.js +36 -10
  308. package/dist/auth-ng/auth-ng.js +73 -35
  309. package/dist/auth-ng/auth-ng.mock.js +6 -6
  310. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  311. package/dist/avatar/avatar-example-datauri.js +1 -23
  312. package/dist/avatar/avatar.d.ts +3 -3
  313. package/dist/avatar/avatar.js +132 -99
  314. package/dist/avatar/fallback-avatar.d.ts +2 -2
  315. package/dist/avatar/fallback-avatar.js +44 -24
  316. package/dist/avatar-editor-ng/avatar-editor-ng.js +57 -25
  317. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  318. package/dist/avatar-ng/avatar-ng.js +22 -0
  319. package/dist/badge/badge.d.ts +2 -2
  320. package/dist/badge/badge.js +34 -26
  321. package/dist/badge-ng/badge-ng.js +12 -0
  322. package/dist/breadcrumb-ng/breadcrumb-ng.js +17 -32
  323. package/dist/button/button.d.ts +3 -4
  324. package/dist/button/button.js +89 -69
  325. package/dist/button/button__classes.js +1 -0
  326. package/dist/button-group/button-group.d.ts +2 -2
  327. package/dist/button-group/button-group.js +31 -15
  328. package/dist/button-group/caption.d.ts +2 -2
  329. package/dist/button-group/caption.js +19 -11
  330. package/dist/button-group-ng/button-group-ng.js +13 -7
  331. package/dist/button-ng/button-ng.js +132 -112
  332. package/dist/button-set/button-set.d.ts +2 -2
  333. package/dist/button-set/button-set.js +29 -15
  334. package/dist/button-set-ng/button-set-ng.js +2 -2
  335. package/dist/button-toolbar/button-toolbar.d.ts +2 -2
  336. package/dist/button-toolbar/button-toolbar.js +28 -14
  337. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  338. package/dist/caret/caret.js +223 -188
  339. package/dist/checkbox/checkbox.d.ts +2 -2
  340. package/dist/checkbox/checkbox.js +83 -58
  341. package/dist/checkbox-ng/checkbox-ng.js +18 -28
  342. package/dist/clipboard/clipboard-fallback.js +10 -10
  343. package/dist/clipboard/clipboard.js +131 -35
  344. package/dist/code/code.d.ts +1 -1
  345. package/dist/code/code.js +153 -81
  346. package/dist/compiler-ng/compiler-ng.js +18 -15
  347. package/dist/confirm/confirm.d.ts +1 -1
  348. package/dist/confirm/confirm.js +85 -47
  349. package/dist/confirm-ng/confirm-ng.js +34 -6
  350. package/dist/confirm-service/confirm-service.js +67 -44
  351. package/dist/content-layout/content-layout.d.ts +2 -2
  352. package/dist/content-layout/content-layout.js +53 -35
  353. package/dist/content-layout/sidebar.d.ts +2 -2
  354. package/dist/content-layout/sidebar.js +1 -0
  355. package/dist/contenteditable/contenteditable.d.ts +3 -3
  356. package/dist/contenteditable/contenteditable.js +54 -43
  357. package/dist/control-label/control-label.d.ts +11 -0
  358. package/dist/control-label/control-label.js +31 -0
  359. package/dist/data-list/data-list.d.ts +3 -3
  360. package/dist/data-list/data-list.js +164 -114
  361. package/dist/data-list/data-list.mock.d.ts +2 -2
  362. package/dist/data-list/data-list.mock.js +11 -3
  363. package/dist/data-list/item.d.ts +3 -3
  364. package/dist/data-list/item.js +140 -113
  365. package/dist/data-list/selection.js +139 -77
  366. package/dist/data-list/title.d.ts +1 -1
  367. package/dist/data-list/title.js +12 -0
  368. package/dist/data-list-ng/data-list-ng.js +30 -1
  369. package/dist/date-picker/consts.d.ts +5 -5
  370. package/dist/date-picker/consts.js +18 -15
  371. package/dist/date-picker/date-input.d.ts +3 -12
  372. package/dist/date-picker/date-input.js +131 -107
  373. package/dist/date-picker/date-picker.d.ts +8 -6
  374. package/dist/date-picker/date-picker.js +214 -160
  375. package/dist/date-picker/date-popup.d.ts +1 -1
  376. package/dist/date-picker/date-popup.js +340 -297
  377. package/dist/date-picker/day.d.ts +2 -2
  378. package/dist/date-picker/day.js +78 -68
  379. package/dist/date-picker/month-names.d.ts +2 -2
  380. package/dist/date-picker/month-names.js +59 -41
  381. package/dist/date-picker/month-slider.d.ts +2 -2
  382. package/dist/date-picker/month-slider.js +59 -40
  383. package/dist/date-picker/month.d.ts +2 -2
  384. package/dist/date-picker/month.js +21 -15
  385. package/dist/date-picker/months.d.ts +2 -2
  386. package/dist/date-picker/months.js +80 -56
  387. package/dist/date-picker/weekdays.d.ts +2 -2
  388. package/dist/date-picker/weekdays.js +18 -12
  389. package/dist/date-picker/years.d.ts +6 -2
  390. package/dist/date-picker/years.js +102 -66
  391. package/dist/dialog/dialog.d.ts +4 -16
  392. package/dist/dialog/dialog.js +148 -98
  393. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  394. package/dist/dialog-ng/dialog-ng.js +404 -291
  395. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  396. package/dist/docked-panel-ng/docked-panel-ng.js +33 -19
  397. package/dist/dropdown/anchor.d.ts +1 -1
  398. package/dist/dropdown/anchor.js +10 -1
  399. package/dist/dropdown/dropdown.d.ts +8 -1
  400. package/dist/dropdown/dropdown.js +158 -130
  401. package/dist/dropdown-menu/dropdown-menu.js +102 -73
  402. package/dist/editable-heading/editable-heading.d.ts +2 -2
  403. package/dist/editable-heading/editable-heading.js +133 -62
  404. package/dist/error-bubble/error-bubble.d.ts +2 -2
  405. package/dist/error-bubble/error-bubble.js +60 -27
  406. package/dist/error-message/error-message.d.ts +2 -2
  407. package/dist/error-message/error-message.js +52 -29
  408. package/dist/error-message-ng/error-message-ng.js +12 -24
  409. package/dist/footer/footer.js +11 -2
  410. package/dist/footer-ng/footer-ng.js +52 -27
  411. package/dist/form-ng/form-ng.js +67 -57
  412. package/dist/global/angular-component-factory.js +78 -50
  413. package/dist/global/compose.js +10 -1
  414. package/dist/global/composeRefs.js +12 -7
  415. package/dist/global/controls-height.d.ts +2 -0
  416. package/dist/global/controls-height.js +10 -2
  417. package/dist/global/create-stateful-context.d.ts +1 -1
  418. package/dist/global/create-stateful-context.js +19 -19
  419. package/dist/global/data-tests.js +15 -7
  420. package/dist/global/dom.js +93 -55
  421. package/dist/global/focus-sensor-hoc.d.ts +1 -0
  422. package/dist/global/focus-sensor-hoc.js +118 -102
  423. package/dist/global/fuzzy-highlight.js +41 -27
  424. package/dist/global/get-event-key.js +8 -8
  425. package/dist/global/get-uid.js +8 -4
  426. package/dist/global/inject-styles.js +15 -10
  427. package/dist/global/linear-function.js +2 -2
  428. package/dist/global/listeners.js +50 -28
  429. package/dist/global/memoize.js +13 -6
  430. package/dist/global/normalize-indent.js +51 -19
  431. package/dist/global/promise-with-timeout.js +8 -6
  432. package/dist/global/prop-types.js +5 -3
  433. package/dist/global/react-dom-renderer.d.ts +4 -4
  434. package/dist/global/react-dom-renderer.js +44 -28
  435. package/dist/global/react-render-adapter.js +21 -15
  436. package/dist/global/rerender-hoc.js +40 -19
  437. package/dist/global/ring-angular-component.js +18 -10
  438. package/dist/global/schedule-raf.js +6 -5
  439. package/dist/global/sniffer.js +1 -1
  440. package/dist/global/theme.js +24 -0
  441. package/dist/global/trivial-template-tag.js +10 -3
  442. package/dist/global/typescript-utils.js +6 -2
  443. package/dist/global/url.js +27 -21
  444. package/dist/global/use-event-callback.d.ts +1 -0
  445. package/dist/global/use-event-callback.js +17 -0
  446. package/dist/grid/col.d.ts +2 -2
  447. package/dist/grid/col.js +42 -23
  448. package/dist/grid/grid.d.ts +2 -2
  449. package/dist/grid/grid.js +32 -13
  450. package/dist/grid/row.d.ts +2 -2
  451. package/dist/grid/row.js +32 -20
  452. package/dist/group/group.d.ts +2 -2
  453. package/dist/group/group.js +23 -13
  454. package/dist/group-ng/group-ng.js +2 -2
  455. package/dist/header/header.d.ts +2 -2
  456. package/dist/header/header.js +75 -25
  457. package/dist/header/logo.d.ts +2 -2
  458. package/dist/header/logo.js +31 -12
  459. package/dist/header/profile.d.ts +4 -2
  460. package/dist/header/profile.js +154 -105
  461. package/dist/header/services-link.d.ts +2 -2
  462. package/dist/header/services-link.js +9 -1
  463. package/dist/header/services.d.ts +2 -2
  464. package/dist/header/services.js +104 -63
  465. package/dist/header/smart-profile.d.ts +2 -2
  466. package/dist/header/smart-profile.js +194 -98
  467. package/dist/header/smart-services.d.ts +2 -2
  468. package/dist/header/smart-services.js +104 -52
  469. package/dist/header/tray-icon.d.ts +2 -2
  470. package/dist/header/tray-icon.js +36 -20
  471. package/dist/header/tray.d.ts +2 -2
  472. package/dist/header/tray.js +30 -17
  473. package/dist/heading/heading.js +26 -27
  474. package/dist/heading-ng/heading-ng.js +10 -0
  475. package/dist/http/http.d.ts +16 -6
  476. package/dist/http/http.js +357 -170
  477. package/dist/http/http.mock.js +105 -50
  478. package/dist/hub-source/hub-source.js +183 -77
  479. package/dist/hub-source/hub-source__user.js +45 -12
  480. package/dist/hub-source/hub-source__users-groups.d.ts +1 -1
  481. package/dist/hub-source/hub-source__users-groups.js +63 -34
  482. package/dist/i18n/i18n-context.d.ts +13 -0
  483. package/dist/i18n/i18n-context.js +28 -0
  484. package/dist/i18n/i18n.d.ts +59 -0
  485. package/dist/i18n/i18n.js +140 -0
  486. package/dist/icon/icon.d.ts +3 -3
  487. package/dist/icon/icon.js +77 -59
  488. package/dist/icon/icon__svg.d.ts +1 -1
  489. package/dist/icon/icon__svg.js +31 -24
  490. package/dist/icon/index.js +9 -0
  491. package/dist/icon-ng/icon-ng.js +27 -16
  492. package/dist/input/input.d.ts +7 -1
  493. package/dist/input/input.js +178 -131
  494. package/dist/input-ng/input-ng.js +77 -99
  495. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  496. package/dist/island/adaptive-island-hoc.js +38 -27
  497. package/dist/island/content.d.ts +1 -1
  498. package/dist/island/content.js +104 -92
  499. package/dist/island/header.d.ts +2 -2
  500. package/dist/island/header.js +60 -47
  501. package/dist/island/island.d.ts +3 -3
  502. package/dist/island/island.js +33 -21
  503. package/dist/island-legacy/content-legacy.d.ts +2 -2
  504. package/dist/island-legacy/content-legacy.js +23 -13
  505. package/dist/island-legacy/header-legacy.d.ts +2 -2
  506. package/dist/island-legacy/header-legacy.js +25 -15
  507. package/dist/island-legacy/island-legacy.d.ts +2 -2
  508. package/dist/island-legacy/island-legacy.js +23 -13
  509. package/dist/island-ng/island-content-ng.js +17 -26
  510. package/dist/island-ng/island-header-ng.js +9 -12
  511. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  512. package/dist/island-ng/island-ng.js +6 -10
  513. package/dist/link/clickableLink.d.ts +1 -1
  514. package/dist/link/clickableLink.js +43 -29
  515. package/dist/link/link.d.ts +8 -9
  516. package/dist/link/link.js +72 -62
  517. package/dist/link-ng/link-ng.js +5 -7
  518. package/dist/list/consts.js +4 -1
  519. package/dist/list/list.d.ts +7 -7
  520. package/dist/list/list.js +499 -402
  521. package/dist/list/list__custom.d.ts +1 -1
  522. package/dist/list/list__custom.js +60 -47
  523. package/dist/list/list__hint.d.ts +2 -2
  524. package/dist/list/list__hint.js +18 -8
  525. package/dist/list/list__item.d.ts +2 -2
  526. package/dist/list/list__item.js +167 -132
  527. package/dist/list/list__link.d.ts +2 -2
  528. package/dist/list/list__link.js +54 -38
  529. package/dist/list/list__separator.d.ts +2 -2
  530. package/dist/list/list__separator.js +24 -14
  531. package/dist/list/list__title.d.ts +2 -2
  532. package/dist/list/list__title.js +32 -22
  533. package/dist/list/list__users-groups-source.js +130 -54
  534. package/dist/loader/loader.d.ts +2 -2
  535. package/dist/loader/loader.js +66 -34
  536. package/dist/loader/loader__core.js +197 -129
  537. package/dist/loader-inline/loader-inline.d.ts +2 -2
  538. package/dist/loader-inline/loader-inline.js +32 -18
  539. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  540. package/dist/loader-ng/loader-ng.js +44 -18
  541. package/dist/loader-screen/loader-screen.d.ts +2 -2
  542. package/dist/loader-screen/loader-screen.js +43 -20
  543. package/dist/loader-screen-ng/loader-screen-ng.js +45 -30
  544. package/dist/login-dialog/login-dialog.d.ts +2 -2
  545. package/dist/login-dialog/login-dialog.js +125 -78
  546. package/dist/login-dialog/service.js +39 -10
  547. package/dist/markdown/code.d.ts +2 -2
  548. package/dist/markdown/code.js +30 -9
  549. package/dist/markdown/heading.d.ts +2 -2
  550. package/dist/markdown/heading.js +3 -5
  551. package/dist/markdown/link.d.ts +2 -2
  552. package/dist/markdown/link.js +13 -7
  553. package/dist/markdown/markdown.d.ts +2 -2
  554. package/dist/markdown/markdown.js +67 -35
  555. package/dist/message/message.d.ts +3 -7
  556. package/dist/message/message.js +153 -119
  557. package/dist/message-bundle-ng/message-bundle-ng.js +130 -46
  558. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  559. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  560. package/dist/old-browsers-message/white-list.js +17 -10
  561. package/dist/pager/pager.d.ts +8 -13
  562. package/dist/pager/pager.js +259 -188
  563. package/dist/pager-ng/pager-ng.js +39 -2
  564. package/dist/panel/panel.d.ts +2 -2
  565. package/dist/panel/panel.js +23 -13
  566. package/dist/panel-ng/panel-ng.js +13 -1
  567. package/dist/permissions/permissions.js +166 -122
  568. package/dist/permissions/permissions__cache.js +220 -191
  569. package/dist/permissions-ng/permissions-ng.js +89 -36
  570. package/dist/place-under-ng/place-under-ng.js +67 -45
  571. package/dist/popup/popup.consts.js +1 -1
  572. package/dist/popup/popup.d.ts +2 -2
  573. package/dist/popup/popup.js +299 -236
  574. package/dist/popup/popup.target.js +8 -9
  575. package/dist/popup/position.d.ts +1 -1
  576. package/dist/popup/position.js +175 -154
  577. package/dist/popup-menu/popup-menu.d.ts +2 -2
  578. package/dist/popup-menu/popup-menu.js +80 -42
  579. package/dist/progress-bar/progress-bar.d.ts +2 -2
  580. package/dist/progress-bar/progress-bar.js +66 -52
  581. package/dist/progress-bar-ng/progress-bar-ng.js +10 -0
  582. package/dist/promised-click-ng/promised-click-ng.js +93 -60
  583. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  584. package/dist/query-assist/query-assist.d.ts +3 -7
  585. package/dist/query-assist/query-assist.js +677 -567
  586. package/dist/query-assist/query-assist__suggestions.d.ts +2 -2
  587. package/dist/query-assist/query-assist__suggestions.js +33 -2
  588. package/dist/query-assist-ng/query-assist-ng.js +41 -2
  589. package/dist/radio/radio.d.ts +1 -1
  590. package/dist/radio/radio.js +28 -14
  591. package/dist/radio/radio__item.d.ts +1 -1
  592. package/dist/radio/radio__item.js +60 -44
  593. package/dist/radio-ng/radio-ng.js +14 -25
  594. package/dist/save-field-ng/save-field-ng.js +90 -56
  595. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  596. package/dist/select/select.d.ts +20 -9
  597. package/dist/select/select.js +831 -699
  598. package/dist/select/select__filter.d.ts +2 -3
  599. package/dist/select/select__filter.js +37 -2
  600. package/dist/select/select__popup.d.ts +48 -8
  601. package/dist/select/select__popup.js +430 -293
  602. package/dist/select-ng/select-ng.js +130 -77
  603. package/dist/select-ng/select-ng__lazy.js +104 -51
  604. package/dist/select-ng/select-ng__options.js +93 -68
  605. package/dist/shortcuts/core.js +197 -146
  606. package/dist/shortcuts/shortcut-title.js +11 -6
  607. package/dist/shortcuts/shortcuts-hoc.d.ts +2 -2
  608. package/dist/shortcuts/shortcuts-hoc.js +43 -19
  609. package/dist/shortcuts/shortcuts.d.ts +1 -1
  610. package/dist/shortcuts/shortcuts.js +69 -43
  611. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +109 -58
  612. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  613. package/dist/shortcuts-ng/shortcuts-ng.js +110 -76
  614. package/dist/sidebar-ng/sidebar-ng.js +55 -25
  615. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  616. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  617. package/dist/storage/storage.js +34 -4
  618. package/dist/storage/storage__fallback.js +217 -143
  619. package/dist/storage/storage__local.js +155 -90
  620. package/dist/style.css +1 -1
  621. package/dist/tab-trap/tab-trap.d.ts +1 -1
  622. package/dist/tab-trap/tab-trap.js +117 -84
  623. package/dist/table/cell.d.ts +2 -2
  624. package/dist/table/cell.js +23 -9
  625. package/dist/table/disable-hover-hoc.d.ts +2 -2
  626. package/dist/table/disable-hover-hoc.js +44 -26
  627. package/dist/table/header-cell.d.ts +2 -2
  628. package/dist/table/header-cell.js +74 -54
  629. package/dist/table/header.d.ts +3 -14
  630. package/dist/table/header.js +102 -131
  631. package/dist/table/multitable.d.ts +2 -2
  632. package/dist/table/multitable.js +102 -86
  633. package/dist/table/row-with-focus-sensor.d.ts +1 -1
  634. package/dist/table/row-with-focus-sensor.js +69 -24
  635. package/dist/table/row.d.ts +2 -1
  636. package/dist/table/row.js +191 -155
  637. package/dist/table/selection-adapter.js +3 -1
  638. package/dist/table/selection-shortcuts-hoc.js +132 -131
  639. package/dist/table/selection.js +220 -150
  640. package/dist/table/smart-table.d.ts +3 -1
  641. package/dist/table/smart-table.js +87 -50
  642. package/dist/table/table.d.ts +6 -4
  643. package/dist/table/table.js +311 -247
  644. package/dist/table-legacy-ng/table-legacy-ng.js +120 -103
  645. package/dist/table-legacy-ng/table-legacy-ng__pager.js +46 -12
  646. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  647. package/dist/table-legacy-ng/table-legacy-ng__selection.js +167 -119
  648. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +35 -21
  649. package/dist/table-ng/smart-table-ng.js +30 -2
  650. package/dist/table-ng/table-ng.js +30 -2
  651. package/dist/tabs/collapsible-more.d.ts +3 -3
  652. package/dist/tabs/collapsible-more.js +92 -56
  653. package/dist/tabs/collapsible-tab.d.ts +1 -1
  654. package/dist/tabs/collapsible-tab.js +45 -39
  655. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  656. package/dist/tabs/collapsible-tabs.js +161 -95
  657. package/dist/tabs/custom-item.js +2 -4
  658. package/dist/tabs/dumb-tabs.d.ts +5 -3
  659. package/dist/tabs/dumb-tabs.js +101 -56
  660. package/dist/tabs/smart-tabs.d.ts +2 -2
  661. package/dist/tabs/smart-tabs.js +70 -25
  662. package/dist/tabs/tab-link.d.ts +1 -1
  663. package/dist/tabs/tab-link.js +29 -20
  664. package/dist/tabs/tab.d.ts +2 -2
  665. package/dist/tabs/tab.js +26 -15
  666. package/dist/tabs/tabs.js +35 -1
  667. package/dist/tabs-ng/tabs-ng.js +38 -24
  668. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  669. package/dist/tag/tag.d.ts +5 -5
  670. package/dist/tag/tag.js +146 -113
  671. package/dist/tags-input/tags-input.d.ts +9 -4
  672. package/dist/tags-input/tags-input.js +327 -220
  673. package/dist/tags-input-ng/tags-input-ng.js +40 -2
  674. package/dist/tags-list/tags-list.d.ts +2 -2
  675. package/dist/tags-list/tags-list.js +61 -38
  676. package/dist/template-ng/template-ng.js +45 -35
  677. package/dist/text/text.d.ts +8 -2
  678. package/dist/text/text.js +38 -17
  679. package/dist/title-ng/title-ng.js +28 -23
  680. package/dist/toggle/toggle.d.ts +2 -2
  681. package/dist/toggle/toggle.js +55 -39
  682. package/dist/toggle-ng/toggle-ng.js +13 -0
  683. package/dist/tooltip/tooltip.d.ts +1 -1
  684. package/dist/tooltip/tooltip.js +145 -102
  685. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  686. package/dist/user-agreement/service.js +411 -259
  687. package/dist/user-agreement/toolbox.eula.js +1 -160
  688. package/dist/user-agreement/user-agreement.d.ts +3 -11
  689. package/dist/user-agreement/user-agreement.js +106 -68
  690. package/dist/user-card/card.d.ts +22 -21
  691. package/dist/user-card/card.js +34 -1
  692. package/dist/user-card/smart-user-card-tooltip.d.ts +3 -3
  693. package/dist/user-card/smart-user-card-tooltip.js +139 -76
  694. package/dist/user-card/tooltip.d.ts +11 -6
  695. package/dist/user-card/tooltip.js +75 -32
  696. package/dist/user-card/user-card.js +34 -1
  697. package/dist/user-card-ng/user-card-ng.js +39 -6
  698. package/package.json +86 -82
  699. package/components/input/input-label.d.ts +0 -10
  700. package/components/input/input-label.js +0 -18
  701. package/dist/input/input-label.d.ts +0 -10
  702. package/dist/input/input-label.js +0 -27
@@ -1,8 +1,11 @@
1
+ import deprecate from 'util-deprecate';
1
2
  import sniffer from '../global/sniffer';
3
+ const warnOnDeprecationOfAnalyticsUtilsMethod = (methodName) => deprecate(() => { }, `Method AnalyticsPluginUtils::${methodName} is deprecated and will be removed soon`)();
2
4
  const SECOND = 1000;
3
5
  const HOUR = 3600;
4
6
  const AnalyticsPluginUtils = {
5
7
  /**
8
+ * @deprecated
6
9
  * Statistics server does not accept undefined values and strings containing certain symbols
7
10
  * @param value
8
11
  * @param isCategory
@@ -16,7 +19,11 @@ const AnalyticsPluginUtils = {
16
19
  const regexp = isCategory ? /[.:;!@#^&*(){}\[\]?,%=+\\\/]+/g : /[.:;!@#^&*(){}\[\]?,%=+\\]+/g;
17
20
  return str.replace(regexp, '_');
18
21
  },
22
+ /**
23
+ * @deprecated
24
+ */
19
25
  getPageViewDurationPresentation: (durationMs) => {
26
+ warnOnDeprecationOfAnalyticsUtilsMethod('getPageViewDurationPresentation');
20
27
  if (durationMs == null) {
21
28
  return 'less-than-1-sec';
22
29
  }
@@ -37,7 +44,11 @@ const AnalyticsPluginUtils = {
37
44
  roundedDuration = (roundedDuration > 0) ? roundedDuration : 1;
38
45
  return `less-than-${roundedDuration}-sec`;
39
46
  },
47
+ /**
48
+ * @deprecated
49
+ */
40
50
  getScreenWidthPresentation: () => {
51
+ warnOnDeprecationOfAnalyticsUtilsMethod('getScreenWidthPresentation');
41
52
  /**
42
53
  * Sizes were taken from bootstrap's grid (xs, sm, md, lg)
43
54
  */
@@ -50,14 +61,28 @@ const AnalyticsPluginUtils = {
50
61
  }
51
62
  return '[1200px;inf)';
52
63
  },
53
- npeSaveLowerCase: (val) => (val || 'unknown').toLowerCase(),
64
+ /**
65
+ * @deprecated
66
+ */
67
+ npeSaveLowerCase: (val) => {
68
+ warnOnDeprecationOfAnalyticsUtilsMethod('npeSaveLowerCase');
69
+ return (val || 'unknown').toLowerCase();
70
+ },
71
+ /**
72
+ * @deprecated
73
+ */
54
74
  getUserAgentPresentation: () => {
75
+ warnOnDeprecationOfAnalyticsUtilsMethod('getUserAgentPresentation');
55
76
  const name = AnalyticsPluginUtils.npeSaveLowerCase(sniffer.browser.name || 'unknown');
56
77
  const majorVersion = sniffer.browser.version[0];
57
78
  const version = majorVersion || 'unknown';
58
79
  return `${name}$${version}`;
59
80
  },
81
+ /**
82
+ * @deprecated
83
+ */
60
84
  getDevicePixelRatioPresentation: () => {
85
+ warnOnDeprecationOfAnalyticsUtilsMethod('getDevicePixelRatioPresentation');
61
86
  if (!window.devicePixelRatio || !window.devicePixelRatio.toFixed) {
62
87
  return 'unknown';
63
88
  }
@@ -1,8 +1,8 @@
1
1
  import Listeners, { Handler } from '../global/listeners';
2
2
  import HTTP, { HTTPAuth, RequestParams } from '../http/http';
3
3
  import AuthDialogService from '../auth-dialog-service/auth-dialog-service';
4
- import AuthStorage from './storage';
5
- import { AuthError } from './response-parser';
4
+ import AuthStorage, { AuthState } from './storage';
5
+ import { AuthError, AuthResponse } from './response-parser';
6
6
  import AuthRequestBuilder from './request-builder';
7
7
  import BackgroundFlow from './background-flow';
8
8
  import TokenValidator, { TokenValidationError, TokenValidatorConfig } from './token-validator';
@@ -15,7 +15,7 @@ export declare const LOGOUT_POSTPONED_EVENT = "logoutPostponed";
15
15
  export declare const USER_CHANGE_POSTPONED_EVENT = "changePostponed";
16
16
  export interface AuthUser {
17
17
  guest?: boolean;
18
- id: number | string;
18
+ id: string;
19
19
  name: string;
20
20
  login: string;
21
21
  banned?: boolean;
@@ -77,7 +77,7 @@ export interface AuthConfig extends TokenValidatorConfig {
77
77
  checkBackendIsUp: () => Promise<unknown>;
78
78
  onBackendDown: (params: BackendDownParams) => () => void;
79
79
  defaultExpiresIn: number;
80
- translations: AuthTranslations;
80
+ translations?: AuthTranslations | null | undefined;
81
81
  userParams?: RequestParams | undefined;
82
82
  waitForRedirectTimeout: number;
83
83
  }
@@ -197,6 +197,7 @@ export default class Auth implements HTTPAuth {
197
197
  */
198
198
  login(): Promise<void>;
199
199
  switchUser(): Promise<void>;
200
+ _makeStateFromResponse(authResponse: AuthResponse): AuthState;
200
201
  /**
201
202
  * Check if the hash contains an access token.
202
203
  * If it does, extract the state, compare with
@@ -2,6 +2,7 @@ import { fixUrl, getAbsoluteBaseURL } from '../global/url';
2
2
  import Listeners from '../global/listeners';
3
3
  import HTTP from '../http/http';
4
4
  import promiseWithTimeout from '../global/promise-with-timeout';
5
+ import { getTranslations, getTranslationsWithFallback, translate } from '../i18n/i18n';
5
6
  import AuthStorage from './storage';
6
7
  import AuthResponseParser from './response-parser';
7
8
  import AuthRequestBuilder from './request-builder';
@@ -42,19 +43,7 @@ const DEFAULT_CONFIG = {
42
43
  onBackendDown: () => () => { },
43
44
  defaultExpiresIn: DEFAULT_EXPIRES_TIMEOUT,
44
45
  waitForRedirectTimeout: DEFAULT_WAIT_FOR_REDIRECT_TIMEOUT,
45
- translations: {
46
- login: 'Log in',
47
- loginTo: 'Log in to %serviceName%',
48
- cancel: 'Cancel',
49
- tryAgainLabel: 'Try again',
50
- postpone: 'Postpone',
51
- youHaveLoggedInAs: 'You have logged in as another user: %userName%',
52
- applyChange: 'Apply change',
53
- backendIsNotAvailable: 'Connection lost',
54
- checkAgain: 'try again',
55
- nothingHappensLink: 'Click here if nothing happens',
56
- errorMessage: 'There may be a problem with your network connection. Make sure that you are online and'
57
- }
46
+ translations: null
58
47
  };
59
48
  export default class Auth {
60
49
  static DEFAULT_CONFIG = DEFAULT_CONFIG;
@@ -131,7 +120,7 @@ export default class Auth {
131
120
  }
132
121
  this._backgroundFlow = new BackgroundFlow(this._requestBuilder, this._storage, backgroundRefreshTimeout);
133
122
  if (this.config.EmbeddedLoginFlow) {
134
- this._embeddedFlow = new this.config.EmbeddedLoginFlow(this._requestBuilder, this._storage, this.config.translations);
123
+ this._embeddedFlow = new this.config.EmbeddedLoginFlow(this._requestBuilder, this._storage, this.config.translations ?? getTranslationsWithFallback());
135
124
  }
136
125
  const API_BASE = this.config.serverUri + Auth.API_PATH;
137
126
  const fetchConfig = config.fetchCredentials
@@ -491,6 +480,7 @@ export default class Auth {
491
480
  _showAuthDialog({ nonInteractive, error, canCancel, onTryAgain } = {}) {
492
481
  const { embeddedLogin, onPostponeLogout, translations } = this.config;
493
482
  const cancelable = this.user?.guest || canCancel;
483
+ const actualTranslations = translations ?? getTranslations();
494
484
  this._createInitDeferred();
495
485
  const closeDialog = () => {
496
486
  /* eslint-disable @typescript-eslint/no-use-before-define */
@@ -530,11 +520,11 @@ export default class Auth {
530
520
  };
531
521
  const hide = this._authDialogService?.({
532
522
  ...this._service,
533
- loginCaption: translations.login,
534
- loginToCaption: translations.loginTo,
535
- confirmLabel: translations.login,
536
- tryAgainLabel: translations.tryAgainLabel,
537
- cancelLabel: cancelable ? translations.cancel : translations.postpone,
523
+ loginCaption: actualTranslations.login,
524
+ loginToCaption: actualTranslations.loginTo,
525
+ confirmLabel: actualTranslations.login,
526
+ tryAgainLabel: actualTranslations.tryAgainLabel,
527
+ cancelLabel: cancelable ? actualTranslations.cancel : actualTranslations.postpone,
538
528
  errorMessage: this._extractErrorMessage(error, true),
539
529
  onConfirm,
540
530
  onCancel,
@@ -558,12 +548,14 @@ export default class Auth {
558
548
  };
559
549
  const hide = this._authDialogService?.({
560
550
  ...this._service,
561
- title: translations.youHaveLoggedInAs.replace('%userName%', newUser.name ?? ''),
562
- loginCaption: translations.login,
563
- loginToCaption: translations.loginTo,
564
- confirmLabel: translations.applyChange,
565
- tryAgainLabel: translations.tryAgainLabel,
566
- cancelLabel: translations.postpone,
551
+ title: translations?.youHaveLoggedInAs ?? translate('youHaveLoggedInAs').
552
+ replace('%userName%', newUser.name ?? '').
553
+ replace('{{userName}}', newUser.name ?? ''),
554
+ loginCaption: translations?.login ?? translate('login'),
555
+ loginToCaption: translations?.loginTo ?? translate('loginTo'),
556
+ confirmLabel: translations?.applyChange ?? translate('applyChange'),
557
+ tryAgainLabel: translations?.tryAgainLabel ?? translate('tryAgainLabel'),
558
+ cancelLabel: translations?.postpone ?? translate('postpone'),
567
559
  onConfirm: () => {
568
560
  done();
569
561
  onApply();
@@ -623,7 +615,10 @@ export default class Auth {
623
615
  done();
624
616
  reject(new Error('Auth(@jetbrains/ring-ui): postponed by user'));
625
617
  };
626
- const hide = onBackendDown({ onCheckAgain, onPostpone, backendError, translations });
618
+ const hide = onBackendDown({
619
+ onCheckAgain, onPostpone, backendError,
620
+ translations: translations ?? getTranslationsWithFallback()
621
+ });
627
622
  window.addEventListener('online', onCheckAgain);
628
623
  function networkWatchdog() {
629
624
  if (navigator && navigator.onLine) {
@@ -696,6 +691,27 @@ export default class Auth {
696
691
  }
697
692
  await this._runEmbeddedLogin();
698
693
  }
694
+ _makeStateFromResponse(authResponse) {
695
+ const { state } = authResponse;
696
+ if (!state) {
697
+ return {};
698
+ }
699
+ const { scope: defaultScope } = this.config;
700
+ try {
701
+ const urlFromState = new URL(state); // checking if state contains valid URL on same origin, see HUB-11514
702
+ if (urlFromState.origin !== window.location.origin) {
703
+ return {};
704
+ }
705
+ return {
706
+ restoreLocation: state,
707
+ created: Date.now(),
708
+ scopes: defaultScope
709
+ };
710
+ }
711
+ catch (e) {
712
+ return {};
713
+ }
714
+ }
699
715
  /**
700
716
  * Check if the hash contains an access token.
701
717
  * If it does, extract the state, compare with
@@ -715,7 +731,8 @@ export default class Auth {
715
731
  return undefined;
716
732
  }
717
733
  const { state: stateId, scope, expiresIn, accessToken } = authResponse;
718
- const newState = await (stateId && this._storage?.getState(stateId)) || {};
734
+ const newState = await (stateId && this._storage?.getState(stateId)) ||
735
+ this._makeStateFromResponse(authResponse);
719
736
  const scopes = scope ? scope.split(' ') : newState.scopes || defaultScope || [];
720
737
  const effectiveExpiresIn = expiresIn ? parseInt(expiresIn, 10) : defaultExpiresIn;
721
738
  const expires = TokenValidator._epoch() + effectiveExpiresIn;
@@ -1,4 +1,4 @@
1
- import { Component } from 'react';
1
+ import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  /**
4
4
  * @name Auth Dialog
@@ -56,5 +56,5 @@ export default class AuthDialog extends Component<AuthDialogProps> {
56
56
  componentWillUnmount(): void;
57
57
  onEscPress: () => void;
58
58
  onRetryPress: () => Promise<void>;
59
- render(): JSX.Element;
59
+ render(): React.JSX.Element;
60
60
  }
@@ -68,7 +68,9 @@ export default class AuthDialog extends Component {
68
68
  const { show, className, errorMessage, serviceImage, serviceName, loginCaption, loginToCaption, confirmLabel, cancelLabel, tryAgainLabel, onConfirm, onCancel, onTryAgain } = this.props;
69
69
  const { retrying } = this.state;
70
70
  const defaultTitle = serviceName ? loginToCaption : loginCaption;
71
- const title = (this.props.title || defaultTitle).replace('%serviceName%', serviceName ?? '');
71
+ const title = (this.props.title || defaultTitle).
72
+ replace('%serviceName%', serviceName ?? '').
73
+ replace('{{serviceName}}', serviceName ?? '');
72
74
  return (<Dialog label={title} data-test="ring-auth-dialog" className={className} contentClassName={classNames(className, styles.dialog)} onEscPress={this.onEscPress} show={show} trapFocus>
73
75
  <Content>
74
76
  <div className={styles.content}>
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { ControlsHeightContext, getGlobalControlsHeight } from '../global/controls-height';
2
3
  import { render } from '../global/react-render-adapter';
3
4
  import AuthDialog from '../auth-dialog/auth-dialog';
4
5
  /**
@@ -9,7 +10,9 @@ const containerElement = document.createElement('div');
9
10
  * Renders AuthDialog into virtual node to skip maintaining container
10
11
  */
11
12
  function renderAuthDialog(props) {
12
- render(<AuthDialog {...props}/>, containerElement);
13
+ render((<ControlsHeightContext.Provider value={getGlobalControlsHeight()}>
14
+ <AuthDialog {...props}/>
15
+ </ControlsHeightContext.Provider>), containerElement);
13
16
  }
14
17
  export default function showAuthDialog(props = {}) {
15
18
  renderAuthDialog({
@@ -1,4 +1,4 @@
1
- import { PureComponent, ImgHTMLAttributes } from 'react';
1
+ import React, { PureComponent, ImgHTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  /**
4
4
  * @name Avatar
@@ -15,7 +15,7 @@ export declare enum Size {
15
15
  }
16
16
  export interface AvatarProps extends ImgHTMLAttributes<HTMLImageElement> {
17
17
  dpr: number;
18
- size: Size;
18
+ size: Size | number;
19
19
  subavatarSize: number;
20
20
  url?: string | null | undefined;
21
21
  round?: boolean | null | undefined;
@@ -47,6 +47,6 @@ export default class Avatar extends PureComponent<AvatarProps> {
47
47
  };
48
48
  handleError: () => void;
49
49
  handleSuccess: () => void;
50
- render(): JSX.Element;
50
+ render(): React.JSX.Element;
51
51
  }
52
52
  export type AvatarAttrs = JSX.LibraryManagedAttributes<typeof Avatar, AvatarProps>;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Size } from './avatar';
4
4
  export interface FallbackAvatarProps {
@@ -6,7 +6,7 @@ export interface FallbackAvatarProps {
6
6
  size: Size;
7
7
  round: boolean | null | undefined;
8
8
  }
9
- declare function FallbackAvatar({ username, size, round }: FallbackAvatarProps): JSX.Element;
9
+ declare function FallbackAvatar({ username, size, round }: FallbackAvatarProps): React.JSX.Element;
10
10
  declare namespace FallbackAvatar {
11
11
  var propTypes: {
12
12
  username: PropTypes.Validator<string>;
@@ -98,10 +98,11 @@ export default function FallbackAvatar({ username, size, round }) {
98
98
  </defs>
99
99
  <g>
100
100
  <rect fill={`url(#${gradientId})`} x="0" y="0" width={sizeKey} height={sizeKey} rx={radius} ry={radius}/>
101
- <text x={sizes.text.x} y={sizes.text.y} fontFamily="Arial, Helvetica, sans-serif" fontSize={sizes.fontSize} letterSpacing={sizes.letterSpacing} fill="#FFFFFF" textAnchor={sizes.textAnchor}>
101
+ <text x={sizes.text.x} y={sizes.text.y} fontFamily="Arial, Helvetica, sans-serif" fontSize={sizes.fontSize} letterSpacing={sizes.letterSpacing} fill="#FFFFFF" textAnchor={sizes.textAnchor} cursor="default">
102
102
  <tspan>{extractLetters(username)}</tspan>
103
103
  {sizes.underscore && <tspan x={sizes.underscore.x} y={sizes.underscore.y}>{'_'}</tspan>}
104
104
  </text>
105
+ <title>{username}</title>
105
106
  </g>
106
107
  </svg>);
107
108
  }
@@ -28,7 +28,7 @@
28
28
  float: right;
29
29
  }
30
30
 
31
- :global(.ring-avatar-editor:hover:not(:disabled):not(.ring-avatar-editor_controlled)) {
31
+ :global(.ring-avatar-editor:hover:not(:disabled, .ring-avatar-editor_controlled)) {
32
32
  padding: 0;
33
33
 
34
34
  border: 1px solid var(--ring-link-hover-color);
@@ -1,4 +1,4 @@
1
- import { PureComponent, HTMLAttributes } from 'react';
1
+ import React, { PureComponent, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface BadgeProps extends HTMLAttributes<HTMLElement> {
4
4
  gray?: boolean | null | undefined;
@@ -20,5 +20,5 @@ export default class Badge extends PureComponent<BadgeProps> {
20
20
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
21
21
  'data-test': PropTypes.Requireable<string>;
22
22
  };
23
- render(): JSX.Element;
23
+ render(): React.JSX.Element;
24
24
  }
@@ -60,7 +60,7 @@
60
60
  box-shadow: button-shadow var(--ring-border-hover-color);
61
61
  }
62
62
 
63
- &:global(.focus-visible) {
63
+ &:focus-visible {
64
64
  transition: none;
65
65
 
66
66
  box-shadow: button-shadow var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);
@@ -73,7 +73,7 @@
73
73
  box-shadow: button-shadow var(--ring-main-color);
74
74
  }
75
75
 
76
- &:global(.focus-visible).active {
76
+ &:focus-visible.active {
77
77
  box-shadow: inset 0 0 0 2px var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);
78
78
  }
79
79
 
@@ -128,7 +128,7 @@
128
128
  color: var(--ring-action-link-color);
129
129
  }
130
130
 
131
- &:global(.focus-visible),
131
+ &:focus-visible,
132
132
  &:active,
133
133
  &.active {
134
134
  background-color: var(--ring-button-primary-background-color);
@@ -186,12 +186,12 @@
186
186
 
187
187
  &:active,
188
188
  &.active,
189
- &:global(.focus-visible),
189
+ &:focus-visible,
190
190
  &:hover {
191
191
  box-shadow: button-shadow var(--ring-button-danger-hover-color);
192
192
  }
193
193
 
194
- &:global(.focus-visible),
194
+ &:focus-visible,
195
195
  &:hover {
196
196
  transition: none;
197
197
  }
@@ -212,7 +212,7 @@
212
212
  box-shadow: none;
213
213
  }
214
214
 
215
- &:global(.focus-visible) {
215
+ &:focus-visible {
216
216
  box-shadow: inset 0 0 0 2px var(--ring-border-hover-color);
217
217
  }
218
218
  }
@@ -228,7 +228,7 @@
228
228
  box-shadow: none;
229
229
  }
230
230
 
231
- .withIcon:hover:not(:global(.focus-visible)) {
231
+ .withIcon:hover:not(:focus-visible) {
232
232
  background-color: transparent;
233
233
  box-shadow: none;
234
234
  }
@@ -1,7 +1,6 @@
1
- import 'focus-visible';
2
1
  import React, { PureComponent, ButtonHTMLAttributes } from 'react';
3
2
  import PropTypes from 'prop-types';
4
- import { IconType, Size } from '../icon/icon';
3
+ import { IconProps, IconType, Size } from '../icon/icon';
5
4
  import { ClickableLinkProps } from '../link/clickableLink';
6
5
  import { ControlsHeight, ControlsHeightContext } from '../global/controls-height';
7
6
  export interface ButtonBaseProps {
@@ -17,7 +16,7 @@ export interface ButtonBaseProps {
17
16
  dropdown?: boolean | null | undefined;
18
17
  disabled?: boolean | undefined;
19
18
  icon?: string | IconType | null | undefined;
20
- iconSize?: Size | null | undefined;
19
+ iconSize?: IconProps['size'];
21
20
  iconClassName?: string | null | undefined;
22
21
  iconSuppressSizeWarning?: boolean | null | undefined;
23
22
  }
@@ -60,7 +59,7 @@ export declare class Button extends PureComponent<ButtonProps> {
60
59
  static contextType: React.Context<ControlsHeight>;
61
60
  context: React.ContextType<typeof ControlsHeightContext>;
62
61
  buttonRef: React.RefObject<HTMLButtonElement>;
63
- render(): JSX.Element;
62
+ render(): React.JSX.Element;
64
63
  }
65
64
  export { Size as IconSize };
66
65
  export type ContainerProps<T extends ButtonProps> = JSX.LibraryManagedAttributes<typeof Button, T>;
@@ -1,4 +1,3 @@
1
- import 'focus-visible';
2
1
  import React, { createRef, PureComponent } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -111,7 +111,7 @@
111
111
  }
112
112
 
113
113
  /* stylelint-disable-next-line selector-max-specificity */
114
- .buttonGroup .button.button:global(.focus-visible) {
114
+ .buttonGroup .button.button:focus-visible {
115
115
  border-radius: var(--ring-border-radius);
116
116
  box-shadow: button-shadow var(--ring-border-hover-color), 0 0 0 1px var(--ring-border-hover-color);
117
117
  }
@@ -123,7 +123,7 @@
123
123
  }
124
124
 
125
125
  /* stylelint-disable-next-line selector-max-specificity */
126
- .buttonGroup .button:global(.focus-visible).active {
126
+ .buttonGroup .button:focus-visible.active {
127
127
  border-radius: var(--ring-border-radius);
128
128
  box-shadow: button-shadow var(--ring-main-color), 0 0 0 1px var(--ring-border-hover-color);
129
129
  }
@@ -1,4 +1,4 @@
1
- import { PureComponent, HTMLAttributes } from 'react';
1
+ import React, { PureComponent, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Caption from './caption';
4
4
  export interface ButtonGroupProps extends HTMLAttributes<HTMLElement> {
@@ -13,6 +13,6 @@ export default class ButtonGroup extends PureComponent<ButtonGroupProps> {
13
13
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
14
14
  className: PropTypes.Requireable<string>;
15
15
  };
16
- render(): JSX.Element;
16
+ render(): React.JSX.Element;
17
17
  }
18
18
  export { Caption };
@@ -1,8 +1,8 @@
1
- import { PureComponent, HTMLAttributes } from 'react';
1
+ import React, { PureComponent, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export default class Caption extends PureComponent<HTMLAttributes<HTMLElement>> {
4
4
  static propTypes: {
5
5
  className: PropTypes.Requireable<PropTypes.ReactNodeLike>;
6
6
  };
7
- render(): JSX.Element;
7
+ render(): React.JSX.Element;
8
8
  }
@@ -96,9 +96,9 @@ basic.storyName = 'Button Ng';
96
96
  basic.parameters = {
97
97
  hermione: {
98
98
  actions: [
99
- {type: 'capture', name: '', selector: '#root'},
99
+ {type: 'capture', name: '', selector: '#storybook-root'},
100
100
  {type: 'focus', selector: '[data-test=button-active]'},
101
- {type: 'capture', name: 'focus active', selector: '#root'}
101
+ {type: 'capture', name: 'focus active', selector: '#storybook-root'}
102
102
  ]
103
103
  },
104
104
  storyStyles: `
@@ -31,7 +31,6 @@ const buttonClassesMap = Object.values({...styles, ...overrides}).
31
31
  export const LOADER_BACKGROUND_SELECTOR = '.js-button-loader';
32
32
 
33
33
  class ButtonController extends RingAngularComponent {
34
- static $inject = ['$element', '$attrs', '$scope', '$compile', '$log'];
35
34
 
36
35
  constructor(...args) {
37
36
  super(...args);
@@ -166,6 +165,7 @@ class ButtonController extends RingAngularComponent {
166
165
  $compile(icon)($scope);
167
166
  };
168
167
  }
168
+ ButtonController.$inject = ['$element', '$attrs', '$scope', '$compile', '$log'];
169
169
 
170
170
  function createButtonDirective(tagName) {
171
171
  return () => ({
@@ -1,4 +1,4 @@
1
- import { PureComponent, HTMLAttributes } from 'react';
1
+ import React, { PureComponent, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface ButtonSetProps extends HTMLAttributes<HTMLElement> {
4
4
  'data-test'?: string | null | undefined;
@@ -12,5 +12,5 @@ export default class ButtonSet extends PureComponent<ButtonSetProps> {
12
12
  className: PropTypes.Requireable<string>;
13
13
  'data-test': PropTypes.Requireable<string>;
14
14
  };
15
- render(): JSX.Element;
15
+ render(): React.JSX.Element;
16
16
  }
@@ -1,4 +1,4 @@
1
- import { PureComponent, HTMLAttributes } from 'react';
1
+ import React, { PureComponent, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface ButtonToolbarProps extends HTMLAttributes<HTMLElement> {
4
4
  'data-test'?: string | null | undefined;
@@ -12,5 +12,5 @@ export default class ButtonToolbar extends PureComponent<ButtonToolbarProps> {
12
12
  className: PropTypes.Requireable<string>;
13
13
  'data-test': PropTypes.Requireable<string>;
14
14
  };
15
- render(): JSX.Element;
15
+ render(): React.JSX.Element;
16
16
  }
@@ -92,7 +92,7 @@
92
92
  opacity: 1;
93
93
  }
94
94
 
95
- &:global(.focus-visible) + .cell,
95
+ &:focus-visible + .cell,
96
96
  &.focus + .cell {
97
97
  transition: background-color var(--ring-ease);
98
98
 
@@ -124,7 +124,7 @@
124
124
  /* stylelint-disable-next-line selector-max-specificity */
125
125
  &[disabled]:checked + .cell .check,
126
126
  &[disabled]:indeterminate + .cell .minus {
127
- color: var(--ring-border-selected-disabled-color);
127
+ color: var(--ring-icon-disabled-color);
128
128
  }
129
129
 
130
130
  /* stylelint-disable-next-line selector-max-specificity */
@@ -1,4 +1,4 @@
1
- import { PureComponent, InputHTMLAttributes, CSSProperties, Ref } from 'react';
1
+ import React, { PureComponent, InputHTMLAttributes, CSSProperties, Ref } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
4
4
  label?: string | null | undefined;
@@ -41,5 +41,5 @@ export default class Checkbox extends PureComponent<CheckboxProps> {
41
41
  componentDidUpdate(prevProps: CheckboxProps): void;
42
42
  input?: HTMLInputElement | null;
43
43
  inputRef: (el: HTMLInputElement | null) => void;
44
- render(): JSX.Element;
44
+ render(): React.JSX.Element;
45
45
  }
@@ -37,7 +37,7 @@ export default class Code extends PureComponent<CodeProps> {
37
37
  highlight(): Promise<void>;
38
38
  get codeRef(): HTMLElement | null | undefined;
39
39
  get initCodeRef(): React.RefObject<HTMLElement> | ((ref: HTMLElement | null) => void);
40
- render(): JSX.Element;
40
+ render(): React.JSX.Element;
41
41
  }
42
42
  declare const code: (strings: TemplateStringsArray, ...interpolations: unknown[]) => void;
43
43
  export { code, highlight };
@@ -43,6 +43,6 @@ export default class Confirm extends PureComponent<ConfirmProps> {
43
43
  onReject: () => void;
44
44
  };
45
45
  onEscPress: () => void;
46
- render(): JSX.Element;
46
+ render(): React.JSX.Element;
47
47
  }
48
48
  export type ConfirmAttributes = JSX.LibraryManagedAttributes<typeof Confirm, ConfirmProps>;
@@ -43,9 +43,9 @@ export default class Confirm extends PureComponent {
43
43
  const { show, className, inProgress, cancelIsDefault, text, description, confirmLabel, rejectLabel, onConfirm, onReject } = this.props;
44
44
  return (<Dialog label={text || (typeof description === 'string' ? description : undefined)} className={className} onEscPress={this.onEscPress} show={show} trapFocus data-test="ring-confirm">
45
45
  {text && <Header>{text}</Header>}
46
- <Content>
47
- {description && <div className={styles.description}>{description}</div>}
48
- </Content>
46
+ {description && (<Content>
47
+ <div className={styles.description}>{description}</div>
48
+ </Content>)}
49
49
  <Panel>
50
50
  <Button data-test="confirm-ok-button" primary={!cancelIsDefault} loader={inProgress} disabled={inProgress} onClick={onConfirm}>
51
51
  {confirmLabel}
@@ -13,7 +13,7 @@ export default {
13
13
  parameters: {
14
14
  notes: 'Displays a confirmation prompt.',
15
15
  hermione: {captureSelector: '*[data-test~=ring-dialog]'},
16
- a11y: {element: '*[data-test~=ring-dialog]'}
16
+ a11y: {element: '#storybook-root,*[data-test~=ring-dialog]'}
17
17
  }
18
18
  };
19
19
 
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { render } from '../global/react-render-adapter';
3
3
  import Confirm from '../confirm/confirm';
4
- import { ControlsHeight, ControlsHeightContext } from '../global/controls-height';
4
+ import { ControlsHeightContext, getGlobalControlsHeight } from '../global/controls-height';
5
5
  export const containerElement = document.createElement('div');
6
6
  /**
7
7
  * Renders Confirm into virtual node to skip maintaining container
8
8
  */
9
9
  function renderConfirm(props) {
10
- const { buttonsHeight = ControlsHeight.M, ...restProps } = props;
10
+ const { buttonsHeight = getGlobalControlsHeight(), ...restProps } = props;
11
11
  render((<ControlsHeightContext.Provider value={buttonsHeight}>
12
12
  <Confirm {...restProps}/>
13
13
  </ControlsHeightContext.Provider>), containerElement);