@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
@@ -16,5 +16,5 @@ export default class ClickableLink extends PureComponent<ClickableLinkProps> {
16
16
  children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
17
17
  };
18
18
  onClick: (e: React.MouseEvent<HTMLAnchorElement>) => void;
19
- render(): JSX.Element;
19
+ render(): React.JSX.Element;
20
20
  }
@@ -49,7 +49,7 @@
49
49
 
50
50
  outline: none;
51
51
 
52
- &:global(.focus-visible) {
52
+ &:focus-visible {
53
53
  box-shadow: 0 0 0 2px var(--ring-border-hover-color);
54
54
  }
55
55
  }
@@ -1,4 +1,3 @@
1
- import 'focus-visible';
2
1
  import React, { ReactNode, ComponentType } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import { ClickableLinkProps } from './clickableLink';
@@ -20,8 +19,8 @@ export interface LinkBaseProps {
20
19
  export type LinkProps<P extends ClickableLinkProps = ClickableLinkProps> = Omit<P, keyof LinkBaseProps> & LinkBaseProps;
21
20
  export declare function linkHOC<P extends ClickableLinkProps>(ComposedComponent: ComponentType<P> | string): {
22
21
  new (props: LinkProps<P> | Readonly<LinkProps<P>>): {
23
- getChildren(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined;
24
- render(): JSX.Element;
22
+ getChildren(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
23
+ render(): React.JSX.Element;
25
24
  context: unknown;
26
25
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<LinkProps<P>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
27
26
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -44,8 +43,8 @@ export declare function linkHOC<P extends ClickableLinkProps>(ComposedComponent:
44
43
  UNSAFE_componentWillUpdate?(nextProps: Readonly<LinkProps<P>>, nextState: Readonly<{}>, nextContext: any): void;
45
44
  };
46
45
  new (props: LinkProps<P>, context: any): {
47
- getChildren(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined;
48
- render(): JSX.Element;
46
+ getChildren(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
47
+ render(): React.JSX.Element;
49
48
  context: unknown;
50
49
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<LinkProps<P>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
51
50
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -84,8 +83,8 @@ export declare function linkHOC<P extends ClickableLinkProps>(ComposedComponent:
84
83
  };
85
84
  declare const _default: {
86
85
  new (props: LinkProps<ClickableLinkProps> | Readonly<LinkProps<ClickableLinkProps>>): {
87
- getChildren(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined;
88
- render(): JSX.Element;
86
+ getChildren(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
87
+ render(): React.JSX.Element;
89
88
  context: unknown;
90
89
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<LinkProps<ClickableLinkProps>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
91
90
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -108,8 +107,8 @@ declare const _default: {
108
107
  UNSAFE_componentWillUpdate?(nextProps: Readonly<LinkProps<ClickableLinkProps>>, nextState: Readonly<{}>, nextContext: any): void;
109
108
  };
110
109
  new (props: LinkProps<ClickableLinkProps>, context: any): {
111
- getChildren(): string | number | boolean | JSX.Element | React.ReactFragment | null | undefined;
112
- render(): JSX.Element;
110
+ getChildren(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
111
+ render(): React.JSX.Element;
113
112
  context: unknown;
114
113
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<LinkProps<ClickableLinkProps>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
115
114
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -1,4 +1,3 @@
1
- import 'focus-visible';
2
1
  import React, { PureComponent, memo } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -11,16 +11,19 @@ export var Type;
11
11
  Type[Type["TITLE"] = 5] = "TITLE";
12
12
  Type[Type["MARGIN"] = 6] = "MARGIN";
13
13
  })(Type || (Type = {}));
14
+ // TODO refactor to plain object in 6.0
14
15
  export var Dimension;
15
16
  (function (Dimension) {
16
17
  Dimension[Dimension["ITEM_PADDING"] = 16] = "ITEM_PADDING";
17
18
  Dimension[Dimension["ITEM_HEIGHT"] = 32] = "ITEM_HEIGHT";
18
19
  Dimension[Dimension["COMPACT_ITEM_HEIGHT"] = 24] = "COMPACT_ITEM_HEIGHT";
19
20
  Dimension[Dimension["SEPARATOR_HEIGHT"] = 25] = "SEPARATOR_HEIGHT";
21
+ // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
20
22
  Dimension[Dimension["SEPARATOR_FIRST_HEIGHT"] = 16] = "SEPARATOR_FIRST_HEIGHT";
21
23
  Dimension[Dimension["SEPARATOR_TEXT_HEIGHT"] = 18] = "SEPARATOR_TEXT_HEIGHT";
22
24
  Dimension[Dimension["TITLE_HEIGHT"] = 42] = "TITLE_HEIGHT";
23
25
  Dimension[Dimension["INNER_PADDING"] = 8] = "INNER_PADDING";
26
+ // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
24
27
  Dimension[Dimension["MARGIN"] = 8] = "MARGIN";
25
28
  })(Dimension || (Dimension = {}));
26
29
  export const DEFAULT_ITEM_TYPE = Type.ITEM;
@@ -115,7 +115,7 @@
115
115
  white-space: nowrap;
116
116
  text-overflow: ellipsis;
117
117
 
118
- @nest [dir=rtl] & {
118
+ [dir="rtl"] & {
119
119
  text-align: right;
120
120
  direction: ltr;
121
121
  }
@@ -263,7 +263,7 @@
263
263
 
264
264
  text-align: left;
265
265
 
266
- @nest [dir=rtl] & {
266
+ [dir="rtl"] & {
267
267
  text-align: right;
268
268
  direction: ltr;
269
269
  }
@@ -24,7 +24,7 @@ export interface ListProps<T = unknown> {
24
24
  restoreActiveIndex: boolean;
25
25
  activateSingleItem: boolean;
26
26
  activateFirstItem: boolean;
27
- onMouseOut: (e: SyntheticEvent) => void;
27
+ onMouseOut: (e: SyntheticEvent<HTMLElement>) => void;
28
28
  onSelect: (item: ListDataItem<T>, event: Event | SyntheticEvent, params?: SelectHandlerParams) => void;
29
29
  onScrollToBottom: () => void;
30
30
  onResize: (info: Size) => void;
@@ -49,7 +49,7 @@ export declare const ActiveItemContext: {
49
49
  ValueContext: React.Context<string | undefined>;
50
50
  UpdateContext: React.Context<(value: string | undefined) => void>;
51
51
  Provider: {
52
- ({ children }: import("../global/create-stateful-context").ProviderProps): JSX.Element;
52
+ ({ children }: import("../global/create-stateful-context").ProviderProps): React.JSX.Element;
53
53
  propTypes: {
54
54
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
55
55
  };
@@ -176,19 +176,19 @@ export default class List<T = unknown> extends Component<ListProps<T>, ListState
176
176
  getVisibleListHeight(maxHeight: number): number;
177
177
  private _deprecatedGenerateKeyFromContent;
178
178
  getId(item: ListDataItem<T> | null): string | undefined;
179
- renderItem: ({ index, style, isScrolling, parent, key }: Partial<ListRowProps>) => JSX.Element;
179
+ renderItem: ({ index, style, isScrolling, parent, key }: Partial<ListRowProps>) => React.JSX.Element;
180
180
  addItemDataTestToProp: (props: ListDataItemProps<T>) => ListDataItemProps<T>;
181
181
  virtualizedListRef: (el: VirtualizedList | null) => void;
182
182
  containerRef: (el: HTMLElement | null) => void;
183
183
  private _inner?;
184
184
  get inner(): HTMLElement | null | undefined;
185
- renderVirtualizedInner({ height, maxHeight, autoHeight, rowCount, isScrolling, onChildScroll, scrollTop, registerChild }: RenderVirtualizedInnerParams): JSX.Element;
186
- renderVirtualized(maxHeight: number | null | undefined, rowCount: number): JSX.Element;
187
- renderSimple(maxHeight: number | null | undefined, rowCount: number): JSX.Element;
185
+ renderVirtualizedInner({ height, maxHeight, autoHeight, rowCount, isScrolling, onChildScroll, scrollTop, registerChild }: RenderVirtualizedInnerParams): React.JSX.Element;
186
+ renderVirtualized(maxHeight: number | null | undefined, rowCount: number): React.JSX.Element;
187
+ renderSimple(maxHeight: number | null | undefined, rowCount: number): React.JSX.Element;
188
188
  id: string;
189
189
  shortcutsScope: string;
190
190
  shortcutsMap: ShortcutsMap;
191
191
  /** @override */
192
- render(): JSX.Element;
192
+ render(): React.JSX.Element;
193
193
  }
194
194
  export type ListAttrs<T = unknown> = JSX.LibraryManagedAttributes<typeof List, ListProps<T>>;
@@ -46,6 +46,9 @@ const nonActivatableTypes = [
46
46
  function isActivatable(item) {
47
47
  return item != null && !nonActivatableTypes.includes(item.rgItemType) && !item.disabled;
48
48
  }
49
+ function getDataHash(data) {
50
+ return data.map(it => `${it.key}-${it.disabled}`).join('-');
51
+ }
49
52
  const shouldActivateFirstItem = (props) => props.activateFirstItem ||
50
53
  props.activateSingleItem && props.data.length === 1;
51
54
  export const ActiveItemContext = createStatefulContext(undefined, 'ActiveItem');
@@ -158,7 +161,7 @@ export default class List extends Component {
158
161
  this.virtualizedList.recomputeRowHeights();
159
162
  }
160
163
  if (this.props.activeIndex == null &&
161
- this.props.data !== prevProps.data &&
164
+ getDataHash(this.props.data) !== getDataHash(prevProps.data) &&
162
165
  shouldActivateFirstItem(this.props)) {
163
166
  this.activateFirst();
164
167
  }
@@ -2,5 +2,5 @@ import React, { PureComponent } from 'react';
2
2
  import { ListDataItemProps } from './consts';
3
3
  export default class ListCustom<T> extends PureComponent<ListDataItemProps<T>> {
4
4
  handleKeyPress: (event: React.KeyboardEvent) => void;
5
- render(): JSX.Element;
5
+ render(): React.JSX.Element;
6
6
  }
@@ -1,4 +1,4 @@
1
- import { PureComponent, ReactNode } from 'react';
1
+ import React, { PureComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface ListHintProps {
4
4
  label: ReactNode;
@@ -11,5 +11,5 @@ export default class ListHint extends PureComponent<ListHintProps> {
11
11
  static propTypes: {
12
12
  label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
13
13
  };
14
- render(): JSX.Element;
14
+ render(): React.JSX.Element;
15
15
  }
@@ -1,8 +1,8 @@
1
- import { PureComponent, SyntheticEvent } from 'react';
1
+ import React, { PureComponent, SyntheticEvent } from 'react';
2
2
  import { ListDataItemProps } from './consts';
3
3
  export default class ListItem<T> extends PureComponent<ListDataItemProps<T>> {
4
4
  id: string;
5
5
  stopBubbling: (e: SyntheticEvent) => void;
6
6
  private _isString;
7
- render(): JSX.Element;
7
+ render(): React.JSX.Element;
8
8
  }
@@ -1,9 +1,9 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import { ListDataItemProps } from './consts';
3
3
  /**
4
4
  * @constructor
5
5
  * @extends {ReactComponent}
6
6
  */
7
7
  export default class ListLink<T> extends PureComponent<ListDataItemProps<T>> {
8
- render(): JSX.Element;
8
+ render(): React.JSX.Element;
9
9
  }
@@ -1,5 +1,5 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import { ListDataItemProps } from './consts';
3
3
  export default class ListSeparator<T> extends PureComponent<ListDataItemProps<T>> {
4
- render(): JSX.Element;
4
+ render(): React.JSX.Element;
5
5
  }
@@ -1,5 +1,5 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import { ListDataItemProps } from './consts';
3
3
  export default class ListTitle<T> extends PureComponent<ListDataItemProps<T>> {
4
- render(): JSX.Element;
4
+ render(): React.JSX.Element;
5
5
  }
@@ -1,4 +1,4 @@
1
- import { HTMLAttributes, PureComponent } from 'react';
1
+ import React, { HTMLAttributes, PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import LoaderCore, { LoaderCoreProps } from './loader__core';
4
4
  export interface LoaderProps extends Partial<LoaderCoreProps>, HTMLAttributes<HTMLElement> {
@@ -24,5 +24,5 @@ export default class Loader extends PureComponent<LoaderProps> {
24
24
  componentWillUnmount(): void;
25
25
  loader?: LoaderCore;
26
26
  initLoader: (el: Node | null) => void;
27
- render(): JSX.Element;
27
+ render(): React.JSX.Element;
28
28
  }
@@ -1,4 +1,4 @@
1
- import { HTMLAttributes, PureComponent } from 'react';
1
+ import React, { HTMLAttributes, PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface LoaderInlineProps extends HTMLAttributes<HTMLDivElement> {
4
4
  'data-test'?: string | null | undefined;
@@ -12,7 +12,7 @@ declare class LoaderInline extends PureComponent<LoaderInlineProps> {
12
12
  'data-test': PropTypes.Requireable<string>;
13
13
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
14
14
  };
15
- render(): JSX.Element;
15
+ render(): React.JSX.Element;
16
16
  }
17
17
  export type LoaderInlineAtrrs = JSX.LibraryManagedAttributes<typeof LoaderInline, LoaderInlineProps>;
18
18
  export default LoaderInline;
@@ -11,7 +11,6 @@ import LoaderCore from '../loader/loader__core';
11
11
  const angularModule = angular.module('Ring.loader', []);
12
12
 
13
13
  class RgLoaderComponent extends RingAngularComponent {
14
- static $inject = ['$element'];
15
14
 
16
15
  static bindings = {
17
16
  message: '@'
@@ -31,6 +30,7 @@ class RgLoaderComponent extends RingAngularComponent {
31
30
  this.loader.updateMessage(changes.message.currentValue);
32
31
  }
33
32
  }
33
+ RgLoaderComponent.$inject = ['$element'];
34
34
 
35
35
  angularModule.component('rgLoader', RgLoaderComponent);
36
36
 
@@ -1,4 +1,4 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { LoaderProps } from '../loader/loader';
4
4
  export interface LoaderScreenProps extends LoaderProps {
@@ -13,5 +13,5 @@ export default class LoaderScreen extends PureComponent<LoaderScreenProps> {
13
13
  containerClassName: PropTypes.Requireable<string>;
14
14
  message: PropTypes.Requireable<string>;
15
15
  };
16
- render(): JSX.Element;
16
+ render(): React.JSX.Element;
17
17
  }
@@ -1,4 +1,4 @@
1
- import { Component, ReactNode } from 'react';
1
+ import React, { Component, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface LoginDialogProps {
4
4
  onCancel: () => void;
@@ -42,6 +42,6 @@ export default class LoginDialog extends Component<LoginDialogProps> {
42
42
  showFallbackTimout?: number;
43
43
  startFallbackCountdown(): void;
44
44
  onMessage: (event: MessageEvent) => void;
45
- render(): JSX.Element;
45
+ render(): React.JSX.Element;
46
46
  }
47
47
  export type LoginDialogAttrs = JSX.LibraryManagedAttributes<typeof LoginDialog, LoginDialogProps>;
@@ -1,12 +1,15 @@
1
1
  import React from 'react';
2
2
  import { render, unmountComponentAtNode } from '../global/react-render-adapter';
3
+ import { ControlsHeightContext, getGlobalControlsHeight } from '../global/controls-height';
3
4
  import LoginDialog from './login-dialog';
4
5
  const containerElement = document.createElement('div');
5
6
  /**
6
7
  * Renders LoginDialog into virtual node to skip maintaining container
7
8
  */
8
9
  function renderLoginDialog(props) {
9
- render(<LoginDialog {...props}/>, containerElement);
10
+ render((<ControlsHeightContext.Provider value={getGlobalControlsHeight()}>
11
+ <LoginDialog {...props}/>
12
+ </ControlsHeightContext.Provider>), containerElement);
10
13
  }
11
14
  function noop() { }
12
15
  export default function showAuthDialog(props = { onCancel: noop }) {
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { CodeProps } from 'react-markdown/lib/ast-to-react';
3
3
  export interface MarkdownCodeProps extends CodeProps {
4
4
  language?: string;
5
5
  }
6
- declare const MarkdownCode: ({ children, language, inline, className }: MarkdownCodeProps) => JSX.Element;
6
+ declare const MarkdownCode: ({ children, language, inline, className }: MarkdownCodeProps) => React.JSX.Element;
7
7
  export default MarkdownCode;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { HeadingProps } from 'react-markdown/lib/ast-to-react';
4
4
  declare const MarkdownHeading: {
5
- ({ level, children }: HeadingProps): JSX.Element;
5
+ ({ level, children }: HeadingProps): React.JSX.Element;
6
6
  propTypes: {
7
7
  level: PropTypes.Validator<number>;
8
8
  children: PropTypes.Validator<any[]>;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ReactMarkdownProps } from 'react-markdown/lib/complex-types';
4
4
  declare const MarkdownLink: {
5
- ({ href, title, children }: JSX.IntrinsicElements['a'] & ReactMarkdownProps): JSX.Element;
5
+ ({ href, title, children }: JSX.IntrinsicElements['a'] & ReactMarkdownProps): React.JSX.Element;
6
6
  propTypes: {
7
7
  href: PropTypes.Requireable<string>;
8
8
  title: PropTypes.Requireable<string>;
@@ -1,4 +1,4 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import { Options } from 'react-markdown';
3
3
  export interface BaseMarkdownProps {
4
4
  inline?: boolean | null | undefined;
@@ -9,7 +9,7 @@ export type MarkdownProps = Options & BaseMarkdownProps;
9
9
  * @name Markdown
10
10
  */
11
11
  export default class Markdown extends PureComponent<MarkdownProps> {
12
- render(): JSX.Element;
12
+ render(): React.JSX.Element;
13
13
  }
14
14
  declare const md: (strings: TemplateStringsArray, ...interpolations: unknown[]) => void;
15
15
  export { md };
@@ -1,4 +1,4 @@
1
- import { Component, ReactNode } from 'react';
1
+ import React, { Component, ReactNode } from 'react';
2
2
  import Popup, { PopupAttrs } from '../popup/popup';
3
3
  import { Directions } from '../popup/popup.consts';
4
4
  import { IconType } from '../icon/icon';
@@ -11,7 +11,7 @@ export interface MessageTranslations {
11
11
  export interface MessageProps {
12
12
  icon: string | IconType | null;
13
13
  directions: readonly Directions[];
14
- translations: MessageTranslations;
14
+ translations?: MessageTranslations | null | undefined;
15
15
  theme: Theme;
16
16
  title?: string | null | undefined;
17
17
  children?: ReactNode;
@@ -34,10 +34,6 @@ export default class Message extends Component<MessageProps> {
34
34
  static defaultProps: {
35
35
  icon: string;
36
36
  directions: Directions[];
37
- translations: {
38
- gotIt: string;
39
- dismiss: string;
40
- };
41
37
  theme: Theme;
42
38
  };
43
39
  state: MessageState;
@@ -53,7 +49,7 @@ export default class Message extends Component<MessageProps> {
53
49
  node?: HTMLElement | null;
54
50
  popupRef: (el: Popup | null) => void;
55
51
  getTailOffset(): number;
56
- render(): JSX.Element;
52
+ render(): React.JSX.Element;
57
53
  }
58
54
  export type MessageAttrs = JSX.LibraryManagedAttributes<typeof Message, MessageProps>;
59
55
  export {};
@@ -6,6 +6,7 @@ import Popup from '../popup/popup';
6
6
  import { Directions } from '../popup/popup.consts';
7
7
  import Icon from '../icon/icon';
8
8
  import Button from '../button/button';
9
+ import { I18nContext } from '../i18n/i18n-context';
9
10
  import Theme, { ThemeProvider, WithThemeClasses } from '../global/theme';
10
11
  import darkStyles from '../global/variables_dark.css';
11
12
  import styles from './message.css';
@@ -52,10 +53,6 @@ export default class Message extends Component {
52
53
  Directions.RIGHT_TOP, Directions.RIGHT_BOTTOM, Directions.RIGHT_CENTER,
53
54
  Directions.LEFT_TOP, Directions.LEFT_BOTTOM, Directions.LEFT_CENTER
54
55
  ],
55
- translations: {
56
- gotIt: 'Got it',
57
- dismiss: 'Dismiss'
58
- },
59
56
  theme: Theme.DARK
60
57
  };
61
58
  state = {};
@@ -96,19 +93,23 @@ export default class Message extends Component {
96
93
  ? [this.props.direction]
97
94
  : this.props.directions;
98
95
  const { direction } = this.state;
99
- return (<WithThemeClasses theme={theme}>
100
- {themeClasses => (<Popup ref={this.popupRef} hidden={false} directions={popupDirections} className={classNames(classes, themeClasses)} offset={UNIT * 2} onDirectionChange={this._onDirectionChange} {...popupProps}>
101
- <ThemeProvider theme={theme} passToPopups>
102
- {direction && (<div className={tailClasses} style={getTailOffsets(this.getTailOffset())[direction]}/>)}
96
+ return (<I18nContext.Consumer>
97
+ {({ translate }) => (<WithThemeClasses theme={theme}>
98
+ {themeClasses => (<Popup ref={this.popupRef} hidden={false} directions={popupDirections} className={classNames(classes, themeClasses)} offset={UNIT * 2} onDirectionChange={this._onDirectionChange} {...popupProps}>
99
+ <ThemeProvider theme={theme} passToPopups>
100
+ {direction && (<div className={tailClasses} style={getTailOffsets(this.getTailOffset())[direction]}/>)}
103
101
 
104
- {icon && <Icon className={styles.icon} glyph={icon}/>}
105
- {title && <h1 data-test="rgMessageTitle" className={styles.title}>{title}</h1>}
106
- {children && <div className={styles.description}>{children}</div>}
107
- {(onClose || buttonProps) && (<Button className={styles.button} onClick={onClose} primary {...buttonProps}>{translations.gotIt}</Button>)}
108
- {onDismiss && <Button onClick={onDismiss} text>{translations.dismiss}</Button>}
109
- </ThemeProvider>
110
- </Popup>)}
111
- </WithThemeClasses>);
102
+ {icon && <Icon className={styles.icon} glyph={icon}/>}
103
+ {title && <h1 data-test="rgMessageTitle" className={styles.title}>{title}</h1>}
104
+ {children && <div className={styles.description}>{children}</div>}
105
+ {(onClose || buttonProps) && (<Button className={styles.button} onClick={onClose} primary {...buttonProps}>{translations?.gotIt ?? translate('gotIt')}</Button>)}
106
+ {onDismiss && (<Button onClick={onDismiss} text>
107
+ {translations?.dismiss ?? translate('dismiss')}
108
+ </Button>)}
109
+ </ThemeProvider>
110
+ </Popup>)}
111
+ </WithThemeClasses>)}
112
+ </I18nContext.Consumer>);
112
113
  }
113
114
  }
114
115
  Message.propTypes = {
@@ -19,7 +19,7 @@ export interface PagerProps {
19
19
  disablePageSizeSelector: boolean;
20
20
  openTotal: boolean;
21
21
  canLoadLastPageWithOpenTotal: boolean;
22
- translations: PagerTranslations;
22
+ translations?: PagerTranslations | null | undefined;
23
23
  loader: boolean;
24
24
  loaderNavigation: boolean;
25
25
  onPageSizeChange: (size: number) => void;
@@ -40,18 +40,13 @@ export default class Pager extends PureComponent<PagerProps> {
40
40
  disablePageSizeSelector: boolean;
41
41
  openTotal: boolean;
42
42
  canLoadLastPageWithOpenTotal: boolean;
43
- translations: {
44
- perPage: string;
45
- firstPage: string;
46
- lastPage: string;
47
- nextPage: string;
48
- previousPage: string;
49
- };
50
43
  loader: boolean;
51
44
  loaderNavigation: boolean;
52
45
  onPageSizeChange: () => void;
53
46
  onLoadPage: () => void;
54
47
  };
48
+ static contextType: React.Context<import("../i18n/i18n-context").I18nContextProps>;
49
+ context: React.ContextType<typeof Pager.contextType>;
55
50
  getSelectOptions(): {
56
51
  selected: SelectItem<PagerSizeItem> | undefined;
57
52
  data: SelectItem<PagerSizeItem>[];
@@ -62,7 +57,7 @@ export default class Pager extends PureComponent<PagerProps> {
62
57
  handleNextClick: () => void;
63
58
  handlePageChange: (arg: number) => (event: React.MouseEvent) => void;
64
59
  handleLoadMore: (arg: number) => () => void;
65
- getButton(page: number, content: ReactNode, key?: number, active?: boolean): JSX.Element;
60
+ getButton(page: number, content: ReactNode, key?: number, active?: boolean): React.JSX.Element;
66
61
  getClickProps(onClick: (e: React.MouseEvent) => void): {
67
62
  onPlainLeftClick?: undefined;
68
63
  onClick?: undefined;
@@ -73,11 +68,11 @@ export default class Pager extends PureComponent<PagerProps> {
73
68
  onClick: (e: React.MouseEvent) => void;
74
69
  onPlainLeftClick?: undefined;
75
70
  };
76
- getPageSizeSelector(): false | JSX.Element;
77
- getPagerLinks(): JSX.Element;
71
+ getPageSizeSelector(): false | React.JSX.Element;
72
+ getPagerLinks(): React.JSX.Element;
78
73
  generateHref(page: number): string | undefined;
79
- getPagerContent(): JSX.Element;
80
- render(): JSX.Element;
74
+ getPagerContent(): React.JSX.Element;
75
+ render(): React.JSX.Element;
81
76
  }
82
77
  export type PagerAttrs = JSX.LibraryManagedAttributes<typeof Pager, PagerProps>;
83
78
  export {};
@@ -13,6 +13,7 @@ import Select from '../select/select';
13
13
  import memoize from '../global/memoize';
14
14
  import Link from '../link/link';
15
15
  import Icon from '../icon/icon';
16
+ import { I18nContext } from '../i18n/i18n-context';
16
17
  import style from './pager.css';
17
18
  export default class Pager extends PureComponent {
18
19
  static defaultProps = {
@@ -24,23 +25,18 @@ export default class Pager extends PureComponent {
24
25
  disablePageSizeSelector: false,
25
26
  openTotal: false,
26
27
  canLoadLastPageWithOpenTotal: false,
27
- translations: {
28
- perPage: 'per page',
29
- firstPage: 'First page',
30
- lastPage: 'Last page',
31
- nextPage: 'Next page',
32
- previousPage: 'Previous'
33
- },
34
28
  loader: false,
35
29
  loaderNavigation: false,
36
30
  onPageSizeChange: () => { },
37
31
  onLoadPage: () => { }
38
32
  };
33
+ static contextType = I18nContext;
39
34
  getSelectOptions() {
40
35
  const { pageSize, pageSizes } = this.props;
36
+ const { translate } = this.context;
41
37
  const data = pageSizes.map(size => ({
42
38
  key: size,
43
- label: `${size} ${this.props.translations.perPage}`
39
+ label: `${size} ${this.props.translations?.perPage ?? translate('perPage')}`
44
40
  }));
45
41
  const selected = data.find(it => it.key === pageSize);
46
42
  return { selected, data };
@@ -103,13 +99,14 @@ export default class Pager extends PureComponent {
103
99
  </div>);
104
100
  }
105
101
  getPagerLinks() {
102
+ const { translate } = this.context;
106
103
  const prevLinkAvailable = this.props.currentPage !== 1;
107
104
  const nextLinkAvailable = this.props.openTotal ||
108
105
  this.props.currentPage !== this.getTotalPages();
109
106
  const nextIcon = (<Icon glyph={chevronRightIcon} key="icon"/>);
110
107
  const prevIcon = (<Icon glyph={chevronLeftIcon} key="icon"/>);
111
- const prevText = this.props.translations.previousPage;
112
- const nextText = this.props.translations.nextPage;
108
+ const prevText = this.props.translations?.previousPage ?? translate('previousPage');
109
+ const nextText = this.props.translations?.nextPage ?? translate('nextPage');
113
110
  const nextLinkContent = (WrapText) => [
114
111
  <span key="text"><WrapText>{nextText}</WrapText></span>,
115
112
  nextIcon
@@ -148,13 +145,13 @@ export default class Pager extends PureComponent {
148
145
  getPagerContent() {
149
146
  const { currentPage, visiblePagesLimit } = this.props;
150
147
  const totalPages = this.getTotalPages();
148
+ const { translate } = this.context;
151
149
  if (totalPages < this.props.currentPage) {
152
150
  this.props.onPageChange?.(totalPages);
153
151
  }
154
152
  let start = 1;
155
153
  let end = totalPages;
156
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
157
- if (totalPages >= visiblePagesLimit + 6) {
154
+ if (totalPages >= visiblePagesLimit) {
158
155
  const leftHalfFrameSize = Math.ceil(visiblePagesLimit / 2) - 1;
159
156
  const rightHalfFrameSize = visiblePagesLimit - leftHalfFrameSize - 1;
160
157
  start = currentPage - leftHalfFrameSize;
@@ -183,7 +180,8 @@ export default class Pager extends PureComponent {
183
180
  {this.getPagerLinks()}
184
181
 
185
182
  <ButtonToolbar>
186
- {start > 1 && this.getButton(1, this.props.translations.firstPage)}
183
+ {start > 1 &&
184
+ this.getButton(1, this.props.translations?.firstPage ?? translate('firstPage'))}
187
185
 
188
186
  <ButtonGroup>
189
187
  {start > 1 && this.getButton(start - 1, '...')}
@@ -195,7 +193,7 @@ export default class Pager extends PureComponent {
195
193
  {end === totalPages && this.props.openTotal && (<Button href={this.generateHref(end + 1)} disabled={this.props.loader} {...this.getClickProps(this.handleLoadMore(end + 1))}>{'...'}</Button>)}
196
194
  </ButtonGroup>
197
195
 
198
- {lastPageButtonAvailable && this.getButton(this.props.openTotal ? -1 : totalPages, this.props.translations.lastPage)}
196
+ {lastPageButtonAvailable && this.getButton(this.props.openTotal ? -1 : totalPages, this.props.translations?.lastPage ?? translate('lastPage'))}
199
197
  </ButtonToolbar>
200
198
 
201
199
  {this.getPageSizeSelector()}
@@ -16,7 +16,7 @@
16
16
  display: none;
17
17
  }
18
18
 
19
- & button {
19
+ & > button:not(:last-child) {
20
20
  margin-right: unit;
21
21
  }
22
22
  }
@@ -1,4 +1,4 @@
1
- import { HTMLAttributes, PureComponent } from 'react';
1
+ import React, { HTMLAttributes, PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  /**
4
4
  * @name Panel
@@ -8,5 +8,5 @@ export default class Panel extends PureComponent<HTMLAttributes<HTMLElement>> {
8
8
  className: PropTypes.Requireable<string>;
9
9
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
10
10
  };
11
- render(): JSX.Element;
11
+ render(): React.JSX.Element;
12
12
  }