@jetbrains/ring-ui 5.0.0-beta.18 → 5.0.0-beta.19

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 (377) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/components/alert/alert.css +1 -1
  3. package/components/alert-service/alert-service.js +1 -1
  4. package/components/analytics/analytics__ga-plugin.d.ts +1 -1
  5. package/components/analytics/analytics__ga-plugin.js +11 -3
  6. package/components/auth/auth__core.js +5 -1
  7. package/components/auth-dialog-service/auth-dialog-service.js +1 -1
  8. package/components/button/button.d.ts +2 -1
  9. package/components/confirm-service/confirm-service.js +1 -1
  10. package/components/data-list/data-list.d.ts +4 -8
  11. package/components/date-picker/date-picker.css +1 -0
  12. package/components/date-picker/date-popup.js +0 -1
  13. package/components/dialog/dialog.d.ts +1 -1
  14. package/components/dropdown/dropdown.d.ts +2 -2
  15. package/components/global/angular-component-factory.js +1 -1
  16. package/components/global/promise-with-timeout.d.ts +2 -1
  17. package/components/global/promise-with-timeout.js +5 -2
  18. package/components/global/react-render-adapter.d.ts +29 -0
  19. package/components/global/react-render-adapter.js +36 -0
  20. package/components/global/rerender-hoc.d.ts +5 -9
  21. package/components/global/rerender-hoc.js +4 -2
  22. package/components/global/variables.css +0 -1
  23. package/components/global/variables.d.ts +0 -1
  24. package/components/global/variables_dark.css +0 -1
  25. package/components/header/profile.d.ts +3 -3
  26. package/components/island/adaptive-island-hoc.d.ts +4 -8
  27. package/components/island/content.d.ts +33 -2
  28. package/components/island/content.js +5 -4
  29. package/components/island/island.d.ts +4 -8
  30. package/components/link/clickableLink.d.ts +1 -1
  31. package/components/link/link.d.ts +14 -22
  32. package/components/list/consts.d.ts +3 -1
  33. package/components/list/list.d.ts +2 -0
  34. package/components/list/list.js +12 -13
  35. package/components/login-dialog/service.js +1 -1
  36. package/components/message/message.css +9 -24
  37. package/components/message/message.js +25 -12
  38. package/components/popup/popup.d.ts +6 -1
  39. package/components/popup/popup.js +4 -2
  40. package/components/popup/position.d.ts +1 -1
  41. package/components/popup/position.js +2 -2
  42. package/components/popup-menu/popup-menu.d.ts +1 -0
  43. package/components/query-assist/query-assist.d.ts +4 -8
  44. package/components/radio/radio.d.ts +1 -1
  45. package/components/select/select.css +3 -0
  46. package/components/select/select.d.ts +5 -8
  47. package/components/select/select.js +9 -4
  48. package/components/select-ng/select-ng.js +16 -5
  49. package/components/select-ng/select-ng__lazy.js +13 -8
  50. package/components/select-ng/select-ng__lazy.test.js +3 -1
  51. package/components/shortcuts/shortcuts-hoc.d.ts +4 -8
  52. package/components/shortcuts/shortcuts.d.ts +1 -1
  53. package/components/tab-trap/tab-trap.d.ts +1 -1
  54. package/components/table/disable-hover-hoc.d.ts +4 -8
  55. package/components/table/header.d.ts +8 -1
  56. package/components/table/smart-table.d.ts +1 -0
  57. package/components/table/smart-table.js +7 -3
  58. package/components/table/table.d.ts +4 -8
  59. package/components/tabs/collapsible-more.js +2 -2
  60. package/components/tabs/collapsible-tabs.d.ts +2 -2
  61. package/components/tabs/collapsible-tabs.js +1 -1
  62. package/components/tabs/custom-item.d.ts +1 -1
  63. package/components/tabs/dumb-tabs.d.ts +1 -1
  64. package/components/tabs/tab-link.d.ts +1 -1
  65. package/components/tabs/tab.d.ts +1 -1
  66. package/components/tag/tag.js +0 -1
  67. package/components/tags-input/tags-input.d.ts +4 -8
  68. package/components/tags-list/tags-list.d.ts +1 -1
  69. package/components/tooltip-ng/tooltip-ng.js +13 -10
  70. package/components/user-agreement/service.d.ts +14 -62
  71. package/components/user-agreement/service.js +1 -1
  72. package/dist/_helpers/anchor.js +1 -1
  73. package/dist/_helpers/badge.js +1 -1
  74. package/dist/_helpers/button-group.js +1 -1
  75. package/dist/_helpers/button-set.js +1 -1
  76. package/dist/_helpers/button-toolbar.js +1 -1
  77. package/dist/_helpers/button__classes.js +2 -2
  78. package/dist/_helpers/card.js +1 -1
  79. package/dist/_helpers/checkbox.js +1 -1
  80. package/dist/_helpers/date-picker.js +1 -1
  81. package/dist/_helpers/dialog__body-scroll-preventer.js +3 -2
  82. package/dist/_helpers/error-message.js +1 -1
  83. package/dist/_helpers/footer.js +1 -1
  84. package/dist/_helpers/grid.js +1 -1
  85. package/dist/_helpers/group.js +1 -1
  86. package/dist/_helpers/header.js +1 -1
  87. package/dist/_helpers/icon.js +1 -1
  88. package/dist/_helpers/input.js +1 -1
  89. package/dist/_helpers/island.js +1 -1
  90. package/dist/_helpers/link.js +1 -1
  91. package/dist/_helpers/list.js +1 -1
  92. package/dist/_helpers/loader-inline.js +1 -1
  93. package/dist/_helpers/loader-screen.js +1 -1
  94. package/dist/_helpers/panel.js +1 -1
  95. package/dist/_helpers/query-assist__suggestions.js +1 -1
  96. package/dist/_helpers/radio.js +1 -1
  97. package/dist/_helpers/select__filter.js +2 -1
  98. package/dist/_helpers/services-link.js +2 -2
  99. package/dist/_helpers/sidebar.js +3 -2
  100. package/dist/_helpers/table.js +1 -1
  101. package/dist/_helpers/tabs.js +1 -1
  102. package/dist/_helpers/theme.js +2 -1
  103. package/dist/_helpers/title.js +2 -1
  104. package/dist/alert/alert.js +3 -1
  105. package/dist/alert/container.js +1 -1
  106. package/dist/alert-service/alert-service.js +4 -1
  107. package/dist/analytics/analytics.js +4 -3
  108. package/dist/analytics/analytics__custom-plugin.js +2 -1
  109. package/dist/analytics/analytics__fus-plugin.js +1 -0
  110. package/dist/analytics/analytics__ga-plugin.d.ts +1 -1
  111. package/dist/analytics/analytics__ga-plugin.js +15 -7
  112. package/dist/analytics/analytics__plugin-utils.js +4 -3
  113. package/dist/analytics-ng/analytics-ng.js +3 -2
  114. package/dist/auth/auth.js +3 -0
  115. package/dist/auth/auth__core.js +19 -12
  116. package/dist/auth/background-flow.js +2 -1
  117. package/dist/auth/down-notification.js +4 -1
  118. package/dist/auth/iframe-flow.js +3 -0
  119. package/dist/auth/landing.js +7 -4
  120. package/dist/auth/request-builder.js +1 -0
  121. package/dist/auth/response-parser.js +1 -0
  122. package/dist/auth/storage.js +3 -0
  123. package/dist/auth/token-validator.js +2 -0
  124. package/dist/auth/window-flow.js +2 -1
  125. package/dist/auth-dialog/auth-dialog.js +4 -2
  126. package/dist/auth-dialog-service/auth-dialog-service.js +4 -1
  127. package/dist/auth-ng/auth-ng.js +4 -1
  128. package/dist/autofocus-ng/autofocus-ng.js +1 -0
  129. package/dist/avatar/avatar-example-datauri.js +1 -23
  130. package/dist/avatar/avatar.js +5 -3
  131. package/dist/avatar/fallback-avatar.js +4 -3
  132. package/dist/avatar-editor-ng/avatar-editor-ng.js +3 -0
  133. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  134. package/dist/avatar-ng/avatar-ng.js +3 -0
  135. package/dist/badge/badge.js +1 -0
  136. package/dist/badge-ng/badge-ng.js +2 -0
  137. package/dist/breadcrumb-ng/breadcrumb-ng.js +4 -28
  138. package/dist/button/button.d.ts +2 -1
  139. package/dist/button/button.js +2 -0
  140. package/dist/button-group-ng/button-group-ng.js +2 -1
  141. package/dist/button-ng/button-ng.js +5 -11
  142. package/dist/button-set-ng/button-set-ng.js +1 -1
  143. package/dist/button-toolbar-ng/button-toolbar-ng.js +1 -0
  144. package/dist/caret/caret.js +2 -0
  145. package/dist/checkbox/checkbox.js +2 -0
  146. package/dist/checkbox-ng/checkbox-ng.js +3 -20
  147. package/dist/code/code.js +4 -3
  148. package/dist/confirm/confirm.js +3 -1
  149. package/dist/confirm-ng/confirm-ng.js +3 -0
  150. package/dist/confirm-service/confirm-service.js +4 -1
  151. package/dist/content-layout/content-layout.js +1 -0
  152. package/dist/content-layout/sidebar.js +1 -0
  153. package/dist/data-list/data-list.d.ts +4 -8
  154. package/dist/data-list/data-list.js +2 -0
  155. package/dist/data-list/data-list.mock.js +1 -0
  156. package/dist/data-list/item.js +2 -0
  157. package/dist/data-list/selection.js +1 -0
  158. package/dist/data-list/title.js +2 -0
  159. package/dist/data-list-ng/data-list-ng.js +3 -0
  160. package/dist/date-picker/consts.js +1 -1
  161. package/dist/date-picker/date-input.js +3 -1
  162. package/dist/date-picker/date-picker.js +9 -7
  163. package/dist/date-picker/date-popup.js +3 -2
  164. package/dist/date-picker/day.js +1 -0
  165. package/dist/date-picker/month-names.js +1 -0
  166. package/dist/date-picker/month-slider.js +1 -0
  167. package/dist/date-picker/month.js +1 -0
  168. package/dist/date-picker/months.js +1 -0
  169. package/dist/date-picker/years.js +1 -0
  170. package/dist/dialog/dialog.d.ts +1 -1
  171. package/dist/dialog/dialog.js +2 -0
  172. package/dist/dialog/dialog__body-scroll-preventer.js +1 -0
  173. package/dist/dialog-ng/dialog-ng.js +7 -4
  174. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  175. package/dist/docked-panel-ng/docked-panel-ng.js +2 -1
  176. package/dist/dropdown/anchor.js +2 -0
  177. package/dist/dropdown/dropdown.d.ts +2 -2
  178. package/dist/dropdown/dropdown.js +2 -0
  179. package/dist/dropdown-menu/dropdown-menu.js +3 -1
  180. package/dist/error-bubble/error-bubble.js +3 -1
  181. package/dist/error-message/error-message.js +3 -1
  182. package/dist/error-message-ng/error-message-ng.js +3 -21
  183. package/dist/footer/footer.js +1 -0
  184. package/dist/footer-ng/footer-ng.js +3 -14
  185. package/dist/form-ng/form-ng.js +2 -4
  186. package/dist/global/angular-component-factory.js +8 -6
  187. package/dist/global/create-stateful-context.js +3 -2
  188. package/dist/global/data-tests.js +2 -0
  189. package/dist/global/dom.js +1 -0
  190. package/dist/global/focus-sensor-hoc.js +1 -0
  191. package/dist/global/fuzzy-highlight.js +1 -1
  192. package/dist/global/inject-styles.js +5 -7
  193. package/dist/global/listeners.js +1 -0
  194. package/dist/global/memoize.js +2 -0
  195. package/dist/global/normalize-indent.js +2 -0
  196. package/dist/global/promise-with-timeout.d.ts +2 -1
  197. package/dist/global/promise-with-timeout.js +6 -2
  198. package/dist/global/react-dom-renderer.js +1 -0
  199. package/dist/global/react-render-adapter.d.ts +29 -0
  200. package/dist/global/react-render-adapter.js +41 -0
  201. package/dist/global/rerender-hoc.d.ts +5 -9
  202. package/dist/global/rerender-hoc.js +7 -3
  203. package/dist/global/theme.js +2 -0
  204. package/dist/global/trivial-template-tag.js +2 -0
  205. package/dist/global/url.js +3 -1
  206. package/dist/global/variables.d.ts +0 -1
  207. package/dist/grid/col.js +2 -1
  208. package/dist/grid/grid.js +1 -0
  209. package/dist/grid/row.js +1 -1
  210. package/dist/group-ng/group-ng.js +1 -1
  211. package/dist/header/header.js +3 -0
  212. package/dist/header/logo.js +2 -0
  213. package/dist/header/profile.d.ts +3 -3
  214. package/dist/header/profile.js +2 -0
  215. package/dist/header/services-link.js +1 -0
  216. package/dist/header/services.js +2 -0
  217. package/dist/header/smart-profile.js +5 -2
  218. package/dist/header/smart-services.js +4 -1
  219. package/dist/header/tray-icon.js +2 -0
  220. package/dist/heading/heading.js +3 -3
  221. package/dist/http/http.js +4 -2
  222. package/dist/http/http.mock.js +2 -0
  223. package/dist/hub-source/hub-source.js +1 -1
  224. package/dist/hub-source/hub-source__user.js +4 -2
  225. package/dist/hub-source/hub-source__users-groups.js +3 -2
  226. package/dist/icon/icon.js +3 -3
  227. package/dist/icon/icon__svg.js +2 -0
  228. package/dist/icon/index.js +2 -0
  229. package/dist/icon-ng/icon-ng.js +7 -5
  230. package/dist/input/input.js +4 -2
  231. package/dist/input-ng/input-ng.js +6 -59
  232. package/dist/island/adaptive-island-hoc.d.ts +4 -8
  233. package/dist/island/adaptive-island-hoc.js +4 -3
  234. package/dist/island/content.d.ts +33 -2
  235. package/dist/island/content.js +8 -4
  236. package/dist/island/header.js +3 -2
  237. package/dist/island/island.d.ts +4 -8
  238. package/dist/island/island.js +1 -0
  239. package/dist/island-ng/island-content-ng.js +2 -16
  240. package/dist/island-ng/island-header-ng.js +2 -8
  241. package/dist/island-ng/island-ng-class-fixer.js +2 -0
  242. package/dist/island-ng/island-ng.js +2 -8
  243. package/dist/link/clickableLink.d.ts +1 -1
  244. package/dist/link/clickableLink.js +1 -0
  245. package/dist/link/link.d.ts +14 -22
  246. package/dist/link/link.js +4 -3
  247. package/dist/link-ng/link-ng.js +1 -4
  248. package/dist/list/consts.d.ts +3 -1
  249. package/dist/list/list.d.ts +2 -0
  250. package/dist/list/list.js +29 -22
  251. package/dist/list/list__custom.js +1 -0
  252. package/dist/list/list__item.js +5 -3
  253. package/dist/list/list__link.js +1 -0
  254. package/dist/list/list__users-groups-source.js +3 -1
  255. package/dist/loader/loader.js +1 -0
  256. package/dist/loader/loader__core.js +5 -4
  257. package/dist/loader-inline/loader-inline.js +1 -0
  258. package/dist/loader-inline-ng/loader-inline-ng.js +1 -1
  259. package/dist/loader-ng/loader-ng.js +1 -0
  260. package/dist/loader-screen/loader-screen.js +1 -0
  261. package/dist/loader-screen-ng/loader-screen-ng.js +2 -6
  262. package/dist/login-dialog/login-dialog.js +3 -1
  263. package/dist/login-dialog/service.js +4 -1
  264. package/dist/markdown/code.js +1 -0
  265. package/dist/markdown/link.js +1 -0
  266. package/dist/markdown/markdown.js +2 -1
  267. package/dist/message/message.js +37 -31
  268. package/dist/old-browsers-message/old-browsers-message.js +2 -1
  269. package/dist/old-browsers-message/old-browsers-message__stop.js +1 -0
  270. package/dist/old-browsers-message/white-list.js +1 -0
  271. package/dist/pager/pager.js +5 -2
  272. package/dist/pager-ng/pager-ng.js +3 -0
  273. package/dist/panel-ng/panel-ng.js +1 -0
  274. package/dist/permissions/permissions.js +1 -1
  275. package/dist/permissions-ng/permissions-ng.js +4 -1
  276. package/dist/place-under-ng/place-under-ng.js +3 -2
  277. package/dist/popup/popup.d.ts +6 -1
  278. package/dist/popup/popup.js +11 -5
  279. package/dist/popup/position.d.ts +1 -1
  280. package/dist/popup/position.js +3 -2
  281. package/dist/popup-menu/popup-menu.d.ts +1 -0
  282. package/dist/popup-menu/popup-menu.js +2 -0
  283. package/dist/progress-bar/progress-bar.js +3 -2
  284. package/dist/progress-bar-ng/progress-bar-ng.js +2 -0
  285. package/dist/promised-click-ng/promised-click-ng.js +2 -0
  286. package/dist/proxy-attrs/proxy-attrs.js +5 -3
  287. package/dist/query-assist/query-assist.d.ts +4 -8
  288. package/dist/query-assist/query-assist.js +6 -2
  289. package/dist/query-assist/query-assist__suggestions.js +2 -0
  290. package/dist/query-assist-ng/query-assist-ng.js +4 -0
  291. package/dist/radio/radio.d.ts +1 -1
  292. package/dist/radio/radio.js +1 -0
  293. package/dist/radio/radio__item.js +1 -0
  294. package/dist/radio-ng/radio-ng.js +2 -18
  295. package/dist/save-field-ng/save-field-ng.js +3 -1
  296. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  297. package/dist/select/select.d.ts +5 -8
  298. package/dist/select/select.js +20 -11
  299. package/dist/select/select__filter.js +2 -0
  300. package/dist/select/select__popup.js +3 -1
  301. package/dist/select-ng/select-ng.js +21 -6
  302. package/dist/select-ng/select-ng__lazy.js +18 -10
  303. package/dist/select-ng/select-ng__options.js +2 -2
  304. package/dist/shortcuts/shortcuts-hoc.d.ts +4 -8
  305. package/dist/shortcuts/shortcuts-hoc.js +4 -3
  306. package/dist/shortcuts/shortcuts.d.ts +1 -1
  307. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +3 -0
  308. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  309. package/dist/shortcuts-ng/shortcuts-ng.js +4 -3
  310. package/dist/sidebar-ng/sidebar-ng.js +2 -0
  311. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  312. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  313. package/dist/storage/storage.js +3 -0
  314. package/dist/storage/storage__fallback.js +4 -3
  315. package/dist/storage/storage__local.js +3 -0
  316. package/dist/style.css +1 -1
  317. package/dist/tab-trap/tab-trap.d.ts +1 -1
  318. package/dist/tab-trap/tab-trap.js +2 -1
  319. package/dist/table/cell.js +1 -0
  320. package/dist/table/disable-hover-hoc.d.ts +4 -8
  321. package/dist/table/disable-hover-hoc.js +4 -3
  322. package/dist/table/header-cell.js +2 -0
  323. package/dist/table/header.d.ts +8 -1
  324. package/dist/table/header.js +2 -0
  325. package/dist/table/multitable.js +1 -0
  326. package/dist/table/row-with-focus-sensor.js +2 -0
  327. package/dist/table/row.js +3 -1
  328. package/dist/table/selection-adapter.js +2 -0
  329. package/dist/table/selection-shortcuts-hoc.js +1 -0
  330. package/dist/table/selection.js +1 -0
  331. package/dist/table/smart-table.d.ts +1 -0
  332. package/dist/table/smart-table.js +12 -6
  333. package/dist/table/table.d.ts +4 -8
  334. package/dist/table/table.js +2 -0
  335. package/dist/table-legacy-ng/table-legacy-ng.js +11 -45
  336. package/dist/table-legacy-ng/table-legacy-ng__pager.js +4 -7
  337. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +2 -1
  338. package/dist/table-ng/smart-table-ng.js +3 -0
  339. package/dist/table-ng/table-ng.js +3 -0
  340. package/dist/tabs/collapsible-more.js +3 -1
  341. package/dist/tabs/collapsible-tab.js +1 -0
  342. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  343. package/dist/tabs/collapsible-tabs.js +2 -0
  344. package/dist/tabs/custom-item.d.ts +1 -1
  345. package/dist/tabs/dumb-tabs.d.ts +1 -1
  346. package/dist/tabs/dumb-tabs.js +2 -0
  347. package/dist/tabs/smart-tabs.js +2 -0
  348. package/dist/tabs/tab-link.d.ts +1 -1
  349. package/dist/tabs/tab-link.js +1 -0
  350. package/dist/tabs/tab.d.ts +1 -1
  351. package/dist/tabs/tab.js +1 -0
  352. package/dist/tabs/tabs.js +2 -0
  353. package/dist/tabs-ng/tabs-ng.js +1 -0
  354. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  355. package/dist/tag/tag.js +3 -2
  356. package/dist/tags-input/tags-input.d.ts +4 -8
  357. package/dist/tags-input/tags-input.js +4 -1
  358. package/dist/tags-input-ng/tags-input-ng.js +3 -0
  359. package/dist/tags-list/tags-list.d.ts +1 -1
  360. package/dist/tags-list/tags-list.js +2 -0
  361. package/dist/template-ng/template-ng.js +1 -0
  362. package/dist/text/text.js +1 -1
  363. package/dist/theme-ng/theme-ng.js +1 -0
  364. package/dist/toggle/toggle.js +2 -1
  365. package/dist/toggle-ng/toggle-ng.js +2 -0
  366. package/dist/tooltip/tooltip.js +3 -1
  367. package/dist/tooltip-ng/tooltip-ng.js +12 -6
  368. package/dist/user-agreement/service.d.ts +14 -62
  369. package/dist/user-agreement/service.js +4 -1
  370. package/dist/user-agreement/toolbox.eula.js +1 -160
  371. package/dist/user-agreement/user-agreement.js +3 -1
  372. package/dist/user-card/card.js +2 -0
  373. package/dist/user-card/smart-user-card-tooltip.js +2 -0
  374. package/dist/user-card/tooltip.js +2 -0
  375. package/dist/user-card/user-card.js +2 -0
  376. package/dist/user-card-ng/user-card-ng.js +3 -0
  377. package/package.json +64 -64
package/CHANGELOG.md CHANGED
@@ -39,6 +39,7 @@
39
39
  You can also pass `Theme.AUTO` to use the user-defined system theme.
40
40
  The only exceptions are the components that provide dark context by default: Alert, Header, Message. Those still accept a `theme` prop.
41
41
  - `--ring-dark-*` CSS custom properties are removed, `--ring-dark-text-color` is renamed to `--ring-white-text-color`
42
+ - `--ring-message-background-color` is removed in favor of `--ring-popup-background-color`
42
43
  - The codebase has migrated to TypeScript
43
44
  - `react-markdown` has been updated to v7, which affects the props of `Markdown` component. The most notable change is replacing `source` with `children`:
44
45
  ```js
@@ -52,6 +53,18 @@
52
53
  - Removed `core-js@2` support
53
54
  - Removed `webpack@4` support
54
55
 
56
+ ## [4.2.0]
57
+
58
+ ### React 18 support
59
+
60
+ To enable the new root API, add the following code before any rendering:
61
+ ```js
62
+ import * as client from 'react-dom/client'
63
+ import {setClient} from '@jetbrains/ring-ui/components/global/react-render-adapter'
64
+
65
+ setClient(client)
66
+ ```
67
+
55
68
  ## [4.1.0]
56
69
 
57
70
  ### Pre-built version
@@ -24,7 +24,7 @@
24
24
  pointer-events: auto;
25
25
 
26
26
  border-radius: var(--ring-border-radius);
27
- background-color: var(--ring-message-background-color);
27
+ background-color: var(--ring-popup-background-color);
28
28
  box-shadow: var(--ring-popup-shadow);
29
29
 
30
30
  font-size: var(--ring-font-size);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render } from 'react-dom';
2
+ import { render } from '../global/react-render-adapter';
3
3
  import getUID from '../global/get-uid';
4
4
  import Alert, { ANIMATION_TIME, Container as AlertContainer } from '../alert/alert';
5
5
  /**
@@ -10,7 +10,7 @@ declare global {
10
10
  * @constructor
11
11
  */
12
12
  export default class AnalyticsGAPlugin implements AnalyticsPlugin {
13
- constructor(gaId?: string | undefined, isDevelopment?: boolean | undefined, domain?: string);
13
+ constructor(gaId?: string | undefined, isDevelopment?: boolean | undefined, domain?: string, cookielessUserIdentifier?: string | undefined);
14
14
  trackEvent(category: string, action: string): void;
15
15
  trackPageView(path: string): void;
16
16
  get serializeAdditionalInfo(): boolean;
@@ -4,7 +4,7 @@
4
4
  * @constructor
5
5
  */
6
6
  export default class AnalyticsGAPlugin {
7
- constructor(gaId, isDevelopment, domain) {
7
+ constructor(gaId, isDevelopment, domain, cookielessUserIdentifier) {
8
8
  if (!gaId && !isDevelopment) {
9
9
  return;
10
10
  }
@@ -25,8 +25,16 @@ export default class AnalyticsGAPlugin {
25
25
  */
26
26
  const key = gaId || 'UA-57284711-1';
27
27
  /* global ga */
28
- const gaCookieParams = domain ? { cookieDomain: domain } : {};
29
- ga('create', key, (!gaId ? { cookieDomain: 'none' } : gaCookieParams));
28
+ if (cookielessUserIdentifier) {
29
+ ga('create', key, {
30
+ storage: 'none',
31
+ clientId: cookielessUserIdentifier
32
+ });
33
+ }
34
+ else {
35
+ const gaCookieParams = domain ? { cookieDomain: domain } : {};
36
+ ga('create', key, (!gaId ? { cookieDomain: 'none' } : gaCookieParams));
37
+ }
30
38
  ga('set', 'anonymizeIp', true);
31
39
  ga('set', 'allowAdFeatures', false);
32
40
  }
@@ -727,9 +727,13 @@ export default class Auth {
727
727
  return await (stateId && this._storage?.getState(stateId)) || {};
728
728
  }
729
729
  _checkBackendsAreUp() {
730
+ const abortCtrl = new AbortController();
730
731
  const { backendCheckTimeout } = this.config;
731
732
  return Promise.all([
732
- promiseWithTimeout(this.http.fetch('settings/public?fields=id'), backendCheckTimeout, { error: new Error('The authorization server is taking too long to respond. Please try again later.') }),
733
+ promiseWithTimeout(this.http.fetch('settings/public?fields=id', { signal: abortCtrl.signal }), backendCheckTimeout, {
734
+ error: new Error('The authorization server is taking too long to respond. Please try again later.'),
735
+ onTimeout: () => abortCtrl.abort()
736
+ }),
733
737
  this.config.checkBackendIsUp()
734
738
  ]).catch(err => {
735
739
  if (err instanceof TypeError) {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render } from 'react-dom';
2
+ import { render } from '../global/react-render-adapter';
3
3
  import AuthDialog from '../auth-dialog/auth-dialog';
4
4
  /**
5
5
  * @name Auth Dialog Service
@@ -3,7 +3,7 @@ import React, { PureComponent, ButtonHTMLAttributes } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { IconType, Size } from '../icon/icon';
5
5
  import { ClickableLinkProps } from '../link/clickableLink';
6
- import { ControlsHeight } from '../global/controls-height';
6
+ import { ControlsHeight, ControlsHeightContext } from '../global/controls-height';
7
7
  export interface ButtonBaseProps {
8
8
  height?: ControlsHeight | undefined;
9
9
  active?: boolean | null | undefined;
@@ -58,6 +58,7 @@ export declare class Button extends PureComponent<ButtonProps> {
58
58
  };
59
59
  static IconSize: typeof Size;
60
60
  static contextType: React.Context<ControlsHeight>;
61
+ context: React.ContextType<typeof ControlsHeightContext>;
61
62
  buttonRef: React.RefObject<HTMLButtonElement>;
62
63
  render(): JSX.Element;
63
64
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render } from 'react-dom';
2
+ import { render } from '../global/react-render-adapter';
3
3
  import Confirm from '../confirm/confirm';
4
4
  /**
5
5
  * @name Confirm Service
@@ -31,12 +31,10 @@ export default class DataListContainer<T extends SelectionItem> extends Componen
31
31
  onMouseMove: () => void;
32
32
  onKeyDown: (e: KeyboardEvent) => void;
33
33
  render(): JSX.Element;
34
- context: any;
34
+ context: unknown;
35
35
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
36
36
  forceUpdate(callback?: (() => void) | undefined): void;
37
- readonly props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>> & Readonly<{
38
- children?: React.ReactNode;
39
- }>;
37
+ readonly props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>;
40
38
  refs: {
41
39
  [key: string]: React.ReactInstance;
42
40
  };
@@ -60,12 +58,10 @@ export default class DataListContainer<T extends SelectionItem> extends Componen
60
58
  onMouseMove: () => void;
61
59
  onKeyDown: (e: KeyboardEvent) => void;
62
60
  render(): JSX.Element;
63
- context: any;
61
+ context: unknown;
64
62
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
65
63
  forceUpdate(callback?: (() => void) | undefined): void;
66
- readonly props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>> & Readonly<{
67
- children?: React.ReactNode;
68
- }>;
64
+ readonly props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>;
69
65
  refs: {
70
66
  [key: string]: React.ReactInstance;
71
67
  };
@@ -1,4 +1,5 @@
1
1
  @import "../global/variables.css";
2
+ @import "../global/global.css";
2
3
 
3
4
  @value unit from "../global/global.css";
4
5
  @value cellSize: calc(unit * 3);
@@ -76,7 +76,6 @@ export default class DatePopup extends Component {
76
76
  if (this.state.text && prevState.active) {
77
77
  this.confirm(prevState.active);
78
78
  }
79
- // eslint-disable-next-line react/no-did-update-set-state
80
79
  this.setState({ text: null });
81
80
  }
82
81
  }
@@ -24,7 +24,7 @@ export default class Dialog extends PureComponent<DialogProps> {
24
24
  label: PropTypes.Requireable<string>;
25
25
  className: PropTypes.Requireable<string>;
26
26
  contentClassName: PropTypes.Requireable<string>;
27
- children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
27
+ children: PropTypes.Requireable<string | number | boolean | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
28
28
  show: PropTypes.Validator<boolean>;
29
29
  showCloseButton: PropTypes.Requireable<boolean>;
30
30
  closeButtonInside: PropTypes.Requireable<boolean>;
@@ -6,7 +6,7 @@ export interface AnchorProps {
6
6
  active: boolean;
7
7
  pinned: boolean;
8
8
  }
9
- export interface DropdownProps extends HTMLAttributes<HTMLElement> {
9
+ export interface DropdownProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
10
10
  anchor: ReactElement | readonly ReactElement[] | string | ((props: AnchorProps) => ReactNode);
11
11
  children: ReactElement<PopupAttrs> | ((props: Omit<PopupAttrs, 'children'>) => ReactNode);
12
12
  initShown: boolean;
@@ -32,7 +32,7 @@ export default class Dropdown extends Component<DropdownProps, DropdownState> {
32
32
  * Can be string, React element, or a function accepting an object with {active, pinned} properties and returning a React element
33
33
  * React element should render some interactive HTML element like `button` or `a`
34
34
  */
35
- anchor: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
35
+ anchor: PropTypes.Validator<string | number | boolean | PropTypes.ReactElementLike | PropTypes.ReactNodeArray | ((...args: any[]) => any)>;
36
36
  children: PropTypes.Validator<PropTypes.ReactElementLike | ((...args: any[]) => any)>;
37
37
  initShown: PropTypes.Requireable<boolean>;
38
38
  className: PropTypes.Requireable<string>;
@@ -1,8 +1,8 @@
1
1
  import angular from 'angular';
2
2
 
3
3
  import React from 'react';
4
- import {render, unmountComponentAtNode} from 'react-dom';
5
4
 
5
+ import {render, unmountComponentAtNode} from './react-render-adapter';
6
6
  import RingAngularComponent from './ring-angular-component';
7
7
 
8
8
  import DomRenderer from './react-dom-renderer';
@@ -1,4 +1,5 @@
1
1
  export interface PromiseWithTimeoutConfig {
2
2
  error?: Error | null | undefined;
3
+ onTimeout?: () => void | undefined;
3
4
  }
4
- export default function promiseWithTimeout<T>(promise: Promise<T>, timeout: number, { error }: PromiseWithTimeoutConfig): Promise<unknown>;
5
+ export default function promiseWithTimeout<T>(promise: Promise<T>, timeout: number, { error, onTimeout }: PromiseWithTimeoutConfig): Promise<unknown>;
@@ -1,8 +1,11 @@
1
1
  // Useful for using fetch with timeout
2
2
  // https://github.com/github/fetch/issues/175#issuecomment-284787564
3
- export default function promiseWithTimeout(promise, timeout, { error }) {
3
+ export default function promiseWithTimeout(promise, timeout, { error, onTimeout = () => { } }) {
4
4
  return new Promise((resolve, reject) => {
5
- setTimeout(() => reject(error || new Error('Timeout')), timeout);
5
+ setTimeout(() => {
6
+ onTimeout();
7
+ reject(error || new Error('Timeout'));
8
+ }, timeout);
6
9
  promise.then(resolve, reject);
7
10
  });
8
11
  }
@@ -0,0 +1,29 @@
1
+ import type { ReactChild, ReactElement, ReactNode } from 'react';
2
+ import { unmountComponentAtNode as legacyUnmountComponentAtNode } from 'react-dom';
3
+ export declare let render: (element: ReactElement, container: Element | DocumentFragment) => void;
4
+ export declare let unmountComponentAtNode: typeof legacyUnmountComponentAtNode;
5
+ export declare let hydrate: (element: ReactElement, container: Element | Document) => void;
6
+ interface Root {
7
+ render(children: ReactChild | Iterable<ReactNode>): void;
8
+ unmount(): void;
9
+ }
10
+ interface RootOptions {
11
+ /**
12
+ * Prefix for `useId`.
13
+ */
14
+ identifierPrefix?: string;
15
+ onRecoverableError?: (error: unknown) => void;
16
+ }
17
+ interface HydrationOptions {
18
+ /**
19
+ * Prefix for `useId`.
20
+ */
21
+ identifierPrefix?: string;
22
+ onRecoverableError?: (error: unknown) => void;
23
+ }
24
+ interface Client {
25
+ createRoot(container: Element | DocumentFragment, options?: RootOptions): Root;
26
+ hydrateRoot(container: Element | Document, initialChildren: ReactChild | Iterable<ReactNode>, options?: HydrationOptions): Root;
27
+ }
28
+ export declare function setClient({ createRoot, hydrateRoot }: Client): void;
29
+ export {};
@@ -0,0 +1,36 @@
1
+ // Allows overriding ReactDOM.render when using React 18:
2
+ // import * as client from 'react-dom/client'
3
+ // import {setClient} from '@jetbrains/ring-ui/components/global/react-render-adapter'
4
+ //
5
+ // setClient(client)
6
+ import {
7
+ render as legacyRender,
8
+ unmountComponentAtNode as legacyUnmountComponentAtNode,
9
+ hydrate as legacyHydrate
10
+ } from 'react-dom';
11
+
12
+ /* eslint-disable import/no-mutable-exports */
13
+ export let render = legacyRender;
14
+ export let unmountComponentAtNode = legacyUnmountComponentAtNode;
15
+ export let hydrate = legacyHydrate;
16
+ /* eslint-enable */
17
+
18
+ export function setClient({createRoot, hydrateRoot}) {
19
+ const roots = new WeakMap();
20
+
21
+ render = (element, container) => {
22
+ let root = roots.get(container);
23
+ if (root == null) {
24
+ root = createRoot(container);
25
+ roots.set(container, root);
26
+ }
27
+ root.render(element);
28
+ };
29
+
30
+ unmountComponentAtNode = container => roots.get(container)?.unmount();
31
+
32
+ hydrate = (element, container) => {
33
+ const root = hydrateRoot(container, element);
34
+ roots.set(container, root);
35
+ };
36
+ }
@@ -1,4 +1,4 @@
1
- import { Component } from 'react';
1
+ import { Component, RefAttributes } from 'react';
2
2
  export interface RerenderableComponent<P, S> extends Component<P, S> {
3
3
  node?: HTMLElement | null;
4
4
  }
@@ -13,18 +13,14 @@ export interface RerenderableComponentClass<P, S> {
13
13
  */
14
14
  export default function rerenderHOC<P, S>(ComposedComponent: RerenderableComponentClass<P, S>): {
15
15
  new (props: P): {
16
- _propsCache: Readonly<P> & Readonly<{
17
- children?: import("react").ReactNode;
18
- }>;
19
- rerender(props?: Partial<P>, callback?: (() => void) | undefined): void | Element | Component<P, any, any>;
16
+ _propsCache: P & RefAttributes<unknown>;
17
+ rerender(props?: Partial<P>, callback?: (() => void) | undefined): void;
20
18
  node?: HTMLElement | null | undefined;
21
- context: any;
19
+ context: unknown;
22
20
  setState<K extends keyof S>(state: S | ((prevState: Readonly<S>, props: Readonly<P>) => S | Pick<S, K> | null) | Pick<S, K> | null, callback?: (() => void) | undefined): void;
23
21
  forceUpdate(callback?: (() => void) | undefined): void;
24
22
  render(): import("react").ReactNode;
25
- readonly props: Readonly<P> & Readonly<{
26
- children?: import("react").ReactNode;
27
- }>;
23
+ readonly props: Readonly<P>;
28
24
  state: Readonly<S>;
29
25
  refs: {
30
26
  [key: string]: import("react").ReactInstance;
@@ -1,5 +1,6 @@
1
1
  import { createElement } from 'react';
2
- import { render } from 'react-dom';
2
+ import { render } from './react-render-adapter';
3
+ import composeRefs from './composeRefs';
3
4
  /**
4
5
  * Wraps a component to add a "rerender" method
5
6
  * @param ComposedComponent
@@ -20,7 +21,8 @@ export default function rerenderHOC(ComposedComponent) {
20
21
  }
21
22
  }
22
23
  this._propsCache = Object.assign({}, this.props, this._propsCache, props);
23
- return render(createElement(this.constructor, this._propsCache), container, callback);
24
+ this._propsCache.ref = composeRefs(this._propsCache.ref, callback);
25
+ render(createElement(this.constructor, this._propsCache), container);
24
26
  }
25
27
  };
26
28
  }
@@ -51,7 +51,6 @@
51
51
  --ring-sidebar-background-color: #f7f9fa;
52
52
  --ring-selected-background-color: #d4edff;
53
53
  --ring-hover-background-color: #ebf6ff;
54
- --ring-message-background-color: #111314;
55
54
  --ring-navigation-background-color: #fff;
56
55
  --ring-tag-background-color: #e6ecf2;
57
56
  --ring-tag-hover-background-color: #d3dae0;
@@ -41,7 +41,6 @@ export interface RingCSSProperties {
41
41
  '--ring-sidebar-background-color'?: Property.BackgroundColor;
42
42
  '--ring-selected-background-color'?: Property.BackgroundColor;
43
43
  '--ring-hover-background-color'?: Property.BackgroundColor;
44
- '--ring-message-background-color'?: Property.BackgroundColor;
45
44
  '--ring-navigation-background-color'?: Property.BackgroundColor;
46
45
  '--ring-tag-background-color'?: Property.BackgroundColor;
47
46
  '--ring-tag-hover-background-color'?: Property.BackgroundColor;
@@ -40,7 +40,6 @@
40
40
  --ring-sidebar-background-color: #28343d;
41
41
  --ring-selected-background-color: #062640;
42
42
  --ring-hover-background-color: #0b1a26;
43
- --ring-message-background-color: var(--ring-popup-background-color);
44
43
  --ring-navigation-background-color: #111314;
45
44
  --ring-tag-background-color: #3e4d59;
46
45
  --ring-tag-hover-background-color: #333e47;
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { Size } from '../avatar/avatar';
4
4
  import { ListDataItem } from '../list/consts';
5
5
  import { AuthUser } from '../auth/auth';
6
- import { LinkProps } from '../link/link';
6
+ import { ClickableLinkProps } from '../link/clickableLink';
7
7
  export interface ProfileTranslations {
8
8
  applyChangedUser?: string | null | undefined;
9
9
  login?: string | null | undefined;
@@ -24,7 +24,7 @@ export interface ProfileProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSe
24
24
  onLogout?: (() => void) | null | undefined;
25
25
  onSwitchUser?: (() => void) | null | undefined;
26
26
  profileUrl?: string | undefined;
27
- LinkComponent?: ComponentType<LinkProps> | null | undefined;
27
+ LinkComponent?: ComponentType<ClickableLinkProps> | null | undefined;
28
28
  user?: AuthUser | null | undefined | void;
29
29
  round?: boolean | null | undefined;
30
30
  showLogIn?: boolean | null | undefined;
@@ -68,6 +68,6 @@ export default class Profile extends PureComponent<ProfileProps> {
68
68
  };
69
69
  static defaultProps: ProfileProps;
70
70
  static Size: typeof Size;
71
- render(): React.ReactNode;
71
+ render(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined;
72
72
  }
73
73
  export declare type ProfileAttrs = JSX.LibraryManagedAttributes<typeof Profile, ProfileProps>;
@@ -9,12 +9,10 @@ export default function adaptiveIslandHOC<P>(ComposedComponent: ComponentType<P>
9
9
  };
10
10
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
11
11
  render(): JSX.Element;
12
- context: any;
12
+ context: unknown;
13
13
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
14
14
  forceUpdate(callback?: (() => void) | undefined): void;
15
- readonly props: Readonly<P> & Readonly<{
16
- children?: React.ReactNode;
17
- }>;
15
+ readonly props: Readonly<P>;
18
16
  refs: {
19
17
  [key: string]: React.ReactInstance;
20
18
  };
@@ -37,12 +35,10 @@ export default function adaptiveIslandHOC<P>(ComposedComponent: ComponentType<P>
37
35
  };
38
36
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
39
37
  render(): JSX.Element;
40
- context: any;
38
+ context: unknown;
41
39
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
42
40
  forceUpdate(callback?: (() => void) | undefined): void;
43
- readonly props: Readonly<P> & Readonly<{
44
- children?: React.ReactNode;
45
- }>;
41
+ readonly props: Readonly<P>;
46
42
  refs: {
47
43
  [key: string]: React.ReactInstance;
48
44
  };
@@ -1,4 +1,6 @@
1
- import { HTMLAttributes } from 'react';
1
+ import React, { Component, HTMLAttributes } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import createResizeDetector from 'element-resize-detector';
2
4
  export interface IslandContentProps extends Omit<HTMLAttributes<HTMLElement>, 'onScroll'> {
3
5
  fade?: boolean | null | undefined;
4
6
  onScrollToBottom?: (() => void) | null | undefined;
@@ -8,5 +10,34 @@ export interface IslandContentInnerProps extends IslandContentProps {
8
10
  onScroll: (node: HTMLElement) => void;
9
11
  bottomBorder: boolean;
10
12
  }
11
- declare const ContentWrapper: (props: IslandContentProps) => JSX.Element;
13
+ declare class Content extends Component<IslandContentInnerProps> {
14
+ static propTypes: {
15
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
+ className: PropTypes.Requireable<string>;
17
+ scrollableWrapperClassName: PropTypes.Requireable<string>;
18
+ fade: PropTypes.Requireable<boolean>;
19
+ bottomBorder: PropTypes.Requireable<boolean>;
20
+ onScroll: PropTypes.Requireable<(...args: any[]) => any>;
21
+ onScrollToBottom: PropTypes.Requireable<(...args: any[]) => any>;
22
+ };
23
+ static defaultProps: {
24
+ fade: boolean;
25
+ bottomBorder: boolean;
26
+ onScroll: () => void;
27
+ onScrollToBottom: () => void;
28
+ };
29
+ state: {
30
+ scrolledToTop: boolean;
31
+ scrolledToBottom: boolean;
32
+ };
33
+ componentWillUnmount(): void;
34
+ resizeDetector: createResizeDetector.Erd;
35
+ wrapperNode?: HTMLElement | null;
36
+ setWrapper: (node: HTMLElement | null) => void;
37
+ calculateScrollPosition: () => void;
38
+ scrollableNode?: HTMLElement | null;
39
+ setScrollableNodeAndCalculatePosition: (node: HTMLElement | null) => void;
40
+ render(): JSX.Element;
41
+ }
42
+ declare const ContentWrapper: React.ForwardRefExoticComponent<IslandContentProps & React.RefAttributes<Content>>;
12
43
  export default ContentWrapper;
@@ -1,4 +1,4 @@
1
- import React, { Component } from 'react';
1
+ import React, { forwardRef, Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import createResizeDetector from 'element-resize-detector';
@@ -90,10 +90,11 @@ class Content extends Component {
90
90
  </div>);
91
91
  }
92
92
  }
93
- const ContentWrapper = (props) => (<ScrollHandlerContext.Consumer>
93
+ const ContentWrapper = forwardRef((props, ref) => (<ScrollHandlerContext.Consumer>
94
94
  {onScroll => {
95
95
  const addProps = onScroll != null ? { onScroll, bottomBorder: true } : {};
96
- return <Content {...props} {...addProps}/>;
96
+ return <Content {...props} {...addProps} ref={ref}/>;
97
97
  }}
98
- </ScrollHandlerContext.Consumer>);
98
+ </ScrollHandlerContext.Consumer>));
99
+ ContentWrapper.displayName = 'ContentWrapper';
99
100
  export default ContentWrapper;
@@ -25,12 +25,10 @@ export declare const AdaptiveIsland: {
25
25
  };
26
26
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
27
27
  render(): JSX.Element;
28
- context: any;
28
+ context: unknown;
29
29
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IslandProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
30
30
  forceUpdate(callback?: (() => void) | undefined): void;
31
- readonly props: Readonly<IslandProps> & Readonly<{
32
- children?: React.ReactNode;
33
- }>;
31
+ readonly props: Readonly<IslandProps>;
34
32
  refs: {
35
33
  [key: string]: React.ReactInstance;
36
34
  };
@@ -53,12 +51,10 @@ export declare const AdaptiveIsland: {
53
51
  };
54
52
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
55
53
  render(): JSX.Element;
56
- context: any;
54
+ context: unknown;
57
55
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IslandProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
58
56
  forceUpdate(callback?: (() => void) | undefined): void;
59
- readonly props: Readonly<IslandProps> & Readonly<{
60
- children?: React.ReactNode;
61
- }>;
57
+ readonly props: Readonly<IslandProps>;
62
58
  refs: {
63
59
  [key: string]: React.ReactInstance;
64
60
  };
@@ -13,7 +13,7 @@ export default class ClickableLink extends PureComponent<ClickableLinkProps> {
13
13
  onConditionalClick: PropTypes.Requireable<(...args: any[]) => any>;
14
14
  activeClassName: PropTypes.Requireable<string>;
15
15
  href: PropTypes.Validator<string>;
16
- children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
16
+ children: PropTypes.Validator<string | number | boolean | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
17
17
  };
18
18
  onClick: (e: React.MouseEvent<HTMLAnchorElement>) => void;
19
19
  render(): JSX.Element;