@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
@@ -0,0 +1,46 @@
1
+ This is localisation layer, that allows to translate the app into different languages.
2
+
3
+ All messages should be stored in a messages.json, using that format https://www.i18next.com/misc/json-format#i18next-json-v4
4
+
5
+ ### How to use
6
+
7
+ 1. Using your project i18n tooling, construct an object with localised messages, like:
8
+ ```
9
+ // You can use https://ttag.js.org/ for example:
10
+ const localised = {
11
+ login: t`Log in`,
12
+ ...
13
+ }
14
+ ```
15
+
16
+ 2. Pass it to i18n singleton, using `setTranslations`. That would provide localisation to non-react components, like Auth.
17
+
18
+ ```
19
+ // Your messages object should have localised strings at that moment
20
+ const localised = {
21
+ login: 'Inloggen',
22
+ ...
23
+ }
24
+
25
+ setTranslations(localised);
26
+ ```
27
+
28
+ 3. Add I18nContextHolder into your root React tree. If you replace "localised" object with another one, consumers would be updated automatically.
29
+
30
+ ```
31
+ <I18nContextHolder messages={localised}>
32
+ <App />
33
+ </I18nContextHolder>
34
+ ```
35
+
36
+
37
+
38
+ ### Utilities
39
+
40
+ There is some ways to automate strings extraction from messages.json. You can do:
41
+
42
+ ```
43
+ npx i18next-conv -s messages.json -t messages.pot -l en --ctxSeparator "|" --compatibilityJSON v4
44
+ ```
45
+
46
+ And get a .pot file, which you can merge with your other sources
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { type Messages } from './i18n';
3
+ export interface I18nContextProps {
4
+ translate(key: keyof Messages): string;
5
+ messages: Messages;
6
+ }
7
+ export declare const I18nContext: React.Context<I18nContextProps>;
8
+ interface I18nContextHolderProps {
9
+ messages: Messages;
10
+ children?: React.ReactNode;
11
+ }
12
+ export declare const I18nContextHolder: React.FC<I18nContextHolderProps>;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ import React, { useEffect } from 'react';
2
+ import { getTranslations, setTranslations, translate } from './i18n';
3
+ export const I18nContext = React.createContext({
4
+ messages: getTranslations(),
5
+ translate
6
+ });
7
+ export const I18nContextHolder = ({ children, messages }) => {
8
+ useEffect(() => {
9
+ setTranslations(messages);
10
+ }, [messages]);
11
+ return (<I18nContext.Provider value={{ messages, translate }}>
12
+ {children}
13
+ </I18nContext.Provider>);
14
+ };
@@ -0,0 +1,59 @@
1
+ import defaultMessages from './messages.json';
2
+ export type MessagesStrict = typeof defaultMessages;
3
+ export type Messages = Partial<MessagesStrict>;
4
+ export declare function setTranslations(newMessages: Messages): void;
5
+ export declare function getTranslations(): Partial<{
6
+ login: string;
7
+ logout: string;
8
+ loginTo: string;
9
+ ok: string;
10
+ cancel: string;
11
+ tryAgainLabel: string;
12
+ postpone: string;
13
+ youHaveLoggedInAs: string;
14
+ applyChange: string;
15
+ backendIsNotAvailable: string;
16
+ checkAgain: string;
17
+ nothingHappensLink: string;
18
+ errorMessage: string;
19
+ applyChangedUser: string;
20
+ profile: string;
21
+ switchUser: string;
22
+ addFirstDate: string;
23
+ addSecondDate: string;
24
+ addTime: string;
25
+ selectName: string;
26
+ setDate: string;
27
+ setDateTime: string;
28
+ setPeriod: string;
29
+ clear: string;
30
+ gotIt: string;
31
+ dismiss: string;
32
+ perPage: string;
33
+ firstPage: string;
34
+ lastPage: string;
35
+ nextPage: string;
36
+ previousPage: string;
37
+ searchTitle: string;
38
+ clearTitle: string;
39
+ userAgreement: string;
40
+ accept: string;
41
+ decline: string;
42
+ close: string;
43
+ scrollToAccept: string;
44
+ remindLater: string;
45
+ filterItems: string;
46
+ selectOption: string;
47
+ progress: string;
48
+ loading: string;
49
+ noOptionsFound: string;
50
+ banned: string;
51
+ online: string;
52
+ offline: string;
53
+ copyToClipboard: string;
54
+ copiedToClipboard: string;
55
+ copingToClipboardError: string;
56
+ unverified: string;
57
+ }>;
58
+ export declare function getTranslationsWithFallback(): MessagesStrict;
59
+ export declare function translate(key: keyof MessagesStrict): string;
@@ -0,0 +1,26 @@
1
+ import defaultMessages from './messages.json';
2
+ let messages = defaultMessages;
3
+ const warned = new Set();
4
+ function warnMissedKeyOnce(key) {
5
+ if (warned.has(key)) {
6
+ return;
7
+ }
8
+ warned.add(key);
9
+ // eslint-disable-next-line no-console
10
+ console.warn(`Missing localisation for key "${key}"`);
11
+ }
12
+ export function setTranslations(newMessages) {
13
+ messages = newMessages;
14
+ }
15
+ export function getTranslations() {
16
+ return messages;
17
+ }
18
+ export function getTranslationsWithFallback() {
19
+ return { ...defaultMessages, ...messages };
20
+ }
21
+ export function translate(key) {
22
+ if (!(key in messages)) {
23
+ warnMissedKeyOnce(key);
24
+ }
25
+ return messages[key] ?? defaultMessages[key];
26
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "login": "Log in",
3
+ "logout": "Log out",
4
+ "loginTo": "Log in to {{serviceName}}",
5
+ "ok": "OK",
6
+ "cancel": "Cancel",
7
+ "tryAgainLabel": "Try again",
8
+ "postpone": "Postpone",
9
+ "youHaveLoggedInAs": "You have logged in as another user: {{userName}}",
10
+ "applyChange": "Apply change",
11
+ "backendIsNotAvailable": "Connection lost",
12
+ "checkAgain": "try again",
13
+ "nothingHappensLink": "Click here if nothing happens",
14
+ "errorMessage": "There may be a problem with your network connection. Make sure that you are online and",
15
+ "applyChangedUser": "Apply changed user",
16
+ "profile": "Profile",
17
+ "switchUser": "Switch user",
18
+ "addFirstDate": "Add first date",
19
+ "addSecondDate": "Add second date",
20
+ "addTime": "Add time",
21
+ "selectName": "Select {{name}}",
22
+ "setDate": "Set a date",
23
+ "setDateTime": "Set date and time",
24
+ "setPeriod": "Set a period",
25
+ "clear": "Clear input",
26
+ "gotIt": "Got it",
27
+ "dismiss": "Dismiss",
28
+ "perPage": "per page",
29
+ "firstPage": "First page",
30
+ "lastPage": "Last page",
31
+ "nextPage": "Next page",
32
+ "previousPage": "Previous",
33
+ "searchTitle": "Search",
34
+ "clearTitle": "Clear search input",
35
+ "userAgreement": "User Agreement",
36
+ "accept": "Accept",
37
+ "decline": "Decline",
38
+ "close": "Close",
39
+ "scrollToAccept": "View the entire agreement to continue",
40
+ "remindLater": "Remind me later",
41
+ "filterItems": "Filter items",
42
+ "selectOption": "Select an option",
43
+ "progress": "Progress",
44
+ "loading": "Loading...",
45
+ "noOptionsFound": "No options found",
46
+ "banned": "banned",
47
+ "online": "online",
48
+ "offline": "offline",
49
+ "copyToClipboard": "Copy email to clipboard",
50
+ "copiedToClipboard": "Email was copied to clipboard",
51
+ "copingToClipboardError": "Failed to copy to clipboard",
52
+ "unverified": "Unverified"
53
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @name Icon
3
3
  */
4
- import { PureComponent, ComponentType, SVGAttributes, HTMLAttributes } from 'react';
4
+ import React, { PureComponent, ComponentType, SVGAttributes, HTMLAttributes } from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { Color, Size } from './icon__constants';
7
7
  export type IconType = ComponentType<SVGAttributes<SVGSVGElement>>;
@@ -9,7 +9,7 @@ export interface IconProps extends HTMLAttributes<HTMLElement> {
9
9
  color: Color;
10
10
  glyph: string | IconType | null;
11
11
  height?: number | undefined;
12
- size?: Size | null | undefined;
12
+ size?: Size | number | null | undefined;
13
13
  width?: number | undefined;
14
14
  loading?: boolean | null | undefined;
15
15
  suppressSizeWarning?: boolean | null | undefined;
@@ -37,7 +37,7 @@ export default class Icon extends PureComponent<IconProps> {
37
37
  width: number | undefined;
38
38
  height: number | undefined;
39
39
  } | undefined;
40
- render(): JSX.Element | null;
40
+ render(): React.JSX.Element | null;
41
41
  }
42
42
  export type IconAttrs = JSX.LibraryManagedAttributes<typeof Icon, IconProps>;
43
43
  export { Color, Size };
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  export interface IconSVGProps extends SVGAttributes<SVGSVGElement> {
4
4
  src: string;
5
5
  }
6
- declare function IconSVG({ src, className, ...rest }: IconSVGProps): JSX.Element;
6
+ declare function IconSVG({ src, className, ...rest }: IconSVGProps): React.JSX.Element;
7
7
  declare namespace IconSVG {
8
8
  var propTypes: {
9
9
  className: PropTypes.Requireable<string>;
@@ -44,13 +44,13 @@ Input
44
44
  border: 1px solid var(--ring-borders-color);
45
45
  border-radius: var(--ring-border-radius);
46
46
  outline: none;
47
- background: transparent;
47
+ background-color: var(--ring-content-background-color);
48
48
 
49
49
  caret-color: var(--ring-main-color);
50
50
 
51
51
  /* stylelint-enable order/properties-order */
52
52
 
53
- @nest [dir=rtl] & {
53
+ [dir="rtl"] & {
54
54
  padding-right: var(--ring-input-padding-start);
55
55
  padding-left: var(--ring-input-padding-end);
56
56
  }
@@ -61,7 +61,7 @@ Input
61
61
  border-color: var(--ring-border-hover-color);
62
62
  }
63
63
 
64
- @nest .error & {
64
+ .error & {
65
65
  border-color: var(--ring-icon-error-color);
66
66
  }
67
67
 
@@ -6,6 +6,7 @@
6
6
  .outerContainer {
7
7
  --ring-input-icon-offset: calc(unit * 2.5);
8
8
  --ring-input-padding-inline: unit;
9
+ --ring-input-background-color: var(--ring-content-background-color);
9
10
  }
10
11
 
11
12
  .borderless {
@@ -44,13 +45,13 @@
44
45
  border: 1px solid var(--ring-borders-color);
45
46
  border-radius: var(--ring-border-radius);
46
47
  outline: none;
47
- background: transparent;
48
+ background-color: var(--ring-input-background-color);
48
49
 
49
50
  font: inherit;
50
51
 
51
52
  caret-color: var(--ring-main-color);
52
53
 
53
- @nest [dir=rtl] & {
54
+ [dir="rtl"] & {
54
55
  padding-right: var(--ring-input-padding-start);
55
56
  padding-left: var(--ring-input-padding-end);
56
57
  }
@@ -61,7 +62,7 @@
61
62
  border-color: var(--ring-border-hover-color);
62
63
  }
63
64
 
64
- @nest .error & {
65
+ .error & {
65
66
  border-color: var(--ring-icon-error-color);
66
67
  }
67
68
 
@@ -94,6 +95,7 @@
94
95
 
95
96
  .borderless .input {
96
97
  border-color: transparent;
98
+ background-color: transparent;
97
99
  }
98
100
 
99
101
  .withIcon .input {
@@ -113,7 +115,7 @@
113
115
 
114
116
  color: var(--ring-icon-secondary-color);
115
117
 
116
- @nest [dir=rtl] & {
118
+ [dir="rtl"] & {
117
119
  right: unit;
118
120
  left: auto;
119
121
  }
@@ -130,11 +132,11 @@
130
132
 
131
133
  line-height: inherit;
132
134
 
133
- @nest .empty & {
135
+ .empty & {
134
136
  display: none;
135
137
  }
136
138
 
137
- @nest [dir=rtl] & {
139
+ [dir="rtl"] & {
138
140
  right: auto;
139
141
  left: unit;
140
142
  }
@@ -148,21 +150,6 @@ textarea.input {
148
150
  resize: none;
149
151
  }
150
152
 
151
- .label {
152
- display: block;
153
-
154
- margin-bottom: calc(unit / 2);
155
-
156
- color: var(--ring-secondary-color);
157
-
158
- font-size: var(--ring-font-size-smaller);
159
- line-height: var(--ring-line-height-lowest);
160
- }
161
-
162
- .disabledLabel {
163
- color: var(--ring-disabled-color);
164
- }
165
-
166
153
  .input::placeholder {
167
154
  color: var(--ring-disabled-color);
168
155
  }
@@ -1,5 +1,6 @@
1
1
  import React, { PureComponent, Ref, ComponentType, InputHTMLAttributes, TextareaHTMLAttributes, ReactNode } from 'react';
2
2
  import { ControlsHeight } from '../global/controls-height';
3
+ import { LabelType } from '../control-label/control-label';
3
4
  declare function noop(): void;
4
5
  /**
5
6
  * @name Input
@@ -11,12 +12,16 @@ declare enum Size {
11
12
  L = "L",
12
13
  FULL = "FULL"
13
14
  }
15
+ export interface InputTranslations {
16
+ clear: string;
17
+ }
14
18
  export interface InputBaseProps {
15
19
  size: Size;
16
20
  enableShortcuts: boolean | string[];
17
21
  children?: string | undefined;
18
22
  inputClassName?: string | null | undefined;
19
23
  label?: ReactNode;
24
+ labelType?: LabelType;
20
25
  active?: boolean | null | undefined;
21
26
  error?: ReactNode | null | undefined;
22
27
  borderless?: boolean | null | undefined;
@@ -25,6 +30,7 @@ export interface InputBaseProps {
25
30
  icon?: string | ComponentType | null | undefined;
26
31
  height?: ControlsHeight | undefined;
27
32
  afterInput?: ReactNode;
33
+ translations?: InputTranslations | null | undefined;
28
34
  }
29
35
  type Override<D, S> = Omit<D, keyof S> & S;
30
36
  export type InputSpecificProps = Override<InputHTMLAttributes<HTMLInputElement>, InputBaseProps> & {
@@ -61,7 +67,7 @@ export declare class Input extends PureComponent<InputProps> {
61
67
  clear: (e: React.MouseEvent<HTMLButtonElement>) => void;
62
68
  handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
63
69
  handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
64
- render(): JSX.Element;
70
+ render(): React.JSX.Element;
65
71
  }
66
72
  export type ContainerProps<P extends InputProps> = JSX.LibraryManagedAttributes<typeof Input, P>;
67
73
  export type InputSpecificAttrs = ContainerProps<InputSpecificProps>;
@@ -6,10 +6,11 @@ import { refObject } from '../global/prop-types';
6
6
  import Button from '../button/button';
7
7
  import getUID from '../global/get-uid';
8
8
  import Icon from '../icon/icon';
9
+ import { I18nContext } from '../i18n/i18n-context';
9
10
  import composeRefs from '../global/composeRefs';
10
11
  import { ControlsHeightContext } from '../global/controls-height';
12
+ import { ControlLabel } from '../control-label/control-label';
11
13
  import styles from './input.css';
12
- import { InputLabel } from './input-label';
13
14
  function noop() { }
14
15
  /**
15
16
  * @name Input
@@ -92,7 +93,7 @@ export class Input extends PureComponent {
92
93
  // Modifiers
93
94
  size, active, multiline, borderless,
94
95
  // Props
95
- label, error, className, inputClassName, children, value, onClear, disabled, inputRef, onChange, enableShortcuts, id, placeholder, icon, height = this.context, afterInput, ...restProps } = this.props;
96
+ label, labelType, error, className, inputClassName, children, value, onClear, disabled, inputRef, onChange, enableShortcuts, id, placeholder, icon, translations, height = this.context, afterInput, ...restProps } = this.props;
96
97
  const { empty } = this.state;
97
98
  const clearable = !!onClear;
98
99
  const classes = classNames(className, styles.outerContainer, [styles[`size${size}`]], [styles[`height${height}`]], {
@@ -117,18 +118,20 @@ export class Input extends PureComponent {
117
118
  'aria-label': typeof label === 'string' && label ? label : placeholder,
118
119
  'data-enabled-shortcuts': Array.isArray(enableShortcuts) ? enableShortcuts.join(',') : null
119
120
  };
120
- return (<div className={classes} data-test="ring-input">
121
- {label && (<InputLabel htmlFor={this.getId()} disabled={disabled} label={label}/>)}
122
- <div className={styles.container}>
123
- {icon && <Icon glyph={icon} className={styles.icon}/>}
124
- {multiline
125
- ? (<textarea onChange={this.handleTextareaChange} rows={1} {...commonProps} {...restProps}/>)
126
- : (<input onChange={this.handleInputChange} {...commonProps} {...restProps}/>)}
127
- {clearable && !disabled && (<Button title="Clear input" data-test="ring-input-clear" className={styles.clear} icon={closeIcon} onClick={this.clear}/>)}
128
- {afterInput}
129
- </div>
130
- {error && <div className={styles.errorText}>{error}</div>}
131
- </div>);
121
+ return (<I18nContext.Consumer>
122
+ {({ translate }) => (<div className={classes} data-test="ring-input">
123
+ {label && (<ControlLabel htmlFor={this.getId()} disabled={disabled} type={labelType}>{label}</ControlLabel>)}
124
+ <div className={styles.container}>
125
+ {icon && <Icon glyph={icon} className={styles.icon}/>}
126
+ {multiline
127
+ ? (<textarea onChange={this.handleTextareaChange} rows={1} {...commonProps} {...restProps}/>)
128
+ : (<input onChange={this.handleInputChange} {...commonProps} {...restProps}/>)}
129
+ {clearable && !disabled && (<Button title={translations?.clear ?? translate('clear')} data-test="ring-input-clear" className={styles.clear} icon={closeIcon} onClick={this.clear}/>)}
130
+ {afterInput}
131
+ </div>
132
+ {error && <div className={styles.errorText}>{error}</div>}
133
+ </div>)}
134
+ </I18nContext.Consumer>);
132
135
  }
133
136
  }
134
137
  Input.propTypes = {
@@ -155,6 +158,7 @@ Input.propTypes = {
155
158
  disabled: PropTypes.bool,
156
159
  id: PropTypes.string,
157
160
  placeholder: PropTypes.string,
161
+ translations: PropTypes.object,
158
162
  icon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType])
159
163
  };
160
164
  export default Input;
@@ -2,6 +2,8 @@ import angular from 'angular';
2
2
 
3
3
  import angularDecorator, {APP_NAME} from '../../.storybook/angular-decorator';
4
4
 
5
+ import darkStyles from '../global/variables_dark.css';
6
+
5
7
  import InputNG from './input-ng';
6
8
 
7
9
  export default {
@@ -89,7 +91,7 @@ export const basic = () => {
89
91
  multiline="true"
90
92
  ></rg-input>
91
93
 
92
- <div class="dark">
94
+ <div class="dark ${darkStyles.dark}">
93
95
  <rg-input
94
96
  label="Input on dark background"
95
97
  placeholder="Hint on dark background"
@@ -8,6 +8,7 @@ import closeIcon from '@jetbrains/icons/close';
8
8
 
9
9
  import RingAngularComponent from '../global/ring-angular-component';
10
10
  import styles from '../input/input.css';
11
+ import labelStyles from '../control-label/control-label.css';
11
12
  import ButtonNg from '../button-ng/button-ng';
12
13
 
13
14
  import styleOverrides from './input-ng.css';
@@ -15,7 +16,6 @@ import styleOverrides from './input-ng.css';
15
16
  const angularModule = angular.module('Ring.input', [ButtonNg]);
16
17
 
17
18
  class RingInputComponent extends RingAngularComponent {
18
- static $inject = ['$element'];
19
19
 
20
20
  static require = {
21
21
  ngModelCtrl: '?ngModel'
@@ -103,7 +103,7 @@ class RingInputComponent extends RingAngularComponent {
103
103
  >
104
104
  <label
105
105
  ng-if="!$ctrl.borderless"
106
- class="${styles.label}"
106
+ class="${labelStyles.label} ${labelStyles.secondaryLabel}"
107
107
  >{{$ctrl.label}}</label>
108
108
  <div class="${styles.container}">
109
109
  <input
@@ -153,6 +153,7 @@ class RingInputComponent extends RingAngularComponent {
153
153
  </div>
154
154
  `;
155
155
  }
156
+ RingInputComponent.$inject = ['$element'];
156
157
 
157
158
  angularModule.component('rgInput', RingInputComponent);
158
159
 
@@ -5,6 +5,7 @@ import angularDecorator, {APP_NAME} from '../../.storybook/angular-decorator';
5
5
  import '../input/input-legacy.css';
6
6
  import '../form/form.css';
7
7
  import './input-size.css';
8
+ import '../error-bubble/error-bubble-legacy.css';
8
9
 
9
10
  import SelectNG from '../select-ng/select-ng';
10
11
  import QueryAssistNG from '../query-assist-ng/query-assist-ng';
@@ -8,7 +8,7 @@ export default function adaptiveIslandHOC<P>(ComposedComponent: ComponentType<P>
8
8
  phase: null;
9
9
  };
10
10
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
11
- render(): JSX.Element;
11
+ render(): React.JSX.Element;
12
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;
@@ -34,7 +34,7 @@ export default function adaptiveIslandHOC<P>(ComposedComponent: ComponentType<P>
34
34
  phase: null;
35
35
  };
36
36
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
37
- render(): JSX.Element;
37
+ render(): React.JSX.Element;
38
38
  context: unknown;
39
39
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
40
40
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -37,7 +37,7 @@ declare class Content extends Component<IslandContentInnerProps> {
37
37
  calculateScrollPosition: () => void;
38
38
  scrollableNode?: HTMLElement | null;
39
39
  setScrollableNodeAndCalculatePosition: (node: HTMLElement | null) => void;
40
- render(): JSX.Element;
40
+ render(): React.JSX.Element;
41
41
  }
42
42
  declare const ContentWrapper: React.ForwardRefExoticComponent<IslandContentProps & React.RefAttributes<Content>>;
43
43
  export default ContentWrapper;
@@ -1,8 +1,8 @@
1
- import { HTMLAttributes } from 'react';
1
+ import React, { HTMLAttributes } from 'react';
2
2
  export interface IslandHeaderProps extends HTMLAttributes<HTMLElement> {
3
3
  wrapWithTitle?: boolean | undefined;
4
4
  border?: boolean | null | undefined;
5
5
  phase?: number | undefined;
6
6
  }
7
- declare const HeaderWrapper: (props: IslandHeaderProps) => JSX.Element;
7
+ declare const HeaderWrapper: (props: IslandHeaderProps) => React.JSX.Element;
8
8
  export default HeaderWrapper;
@@ -75,7 +75,7 @@
75
75
  width: 100%;
76
76
  padding: calc(unit * 2) calc(unit * 4);
77
77
 
78
- &:focus:not(:global(.focus-visible)) {
78
+ &:focus:not(:focus-visible) {
79
79
  outline: none;
80
80
  }
81
81
  }
@@ -16,7 +16,7 @@ export default class Island extends Component<IslandProps> {
16
16
  withoutPaddings: PropTypes.Requireable<boolean>;
17
17
  'data-test': PropTypes.Requireable<string>;
18
18
  };
19
- render(): JSX.Element;
19
+ render(): React.JSX.Element;
20
20
  }
21
21
  export declare const AdaptiveIsland: {
22
22
  new (props: IslandProps | Readonly<IslandProps>): {
@@ -24,7 +24,7 @@ export declare const AdaptiveIsland: {
24
24
  phase: null;
25
25
  };
26
26
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
27
- render(): JSX.Element;
27
+ render(): React.JSX.Element;
28
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;
@@ -50,7 +50,7 @@ export declare const AdaptiveIsland: {
50
50
  phase: null;
51
51
  };
52
52
  onContentScroll: ({ scrollTop, scrollHeight, clientHeight }: Element) => void;
53
- render(): JSX.Element;
53
+ render(): React.JSX.Element;
54
54
  context: unknown;
55
55
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IslandProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
56
56
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -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 './island-legacy.css';
4
4
  export default class Content extends PureComponent<HTMLAttributes<HTMLElement>> {
@@ -6,5 +6,5 @@ export default class Content extends PureComponent<HTMLAttributes<HTMLElement>>
6
6
  className: PropTypes.Requireable<string>;
7
7
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
8
8
  };
9
- render(): JSX.Element;
9
+ render(): React.JSX.Element;
10
10
  }
@@ -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 './island-legacy.css';
4
4
  export default class Header extends PureComponent<HTMLAttributes<HTMLElement>> {
@@ -6,5 +6,5 @@ export default class Header extends PureComponent<HTMLAttributes<HTMLElement>> {
6
6
  className: PropTypes.Requireable<string>;
7
7
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
8
8
  };
9
- render(): JSX.Element;
9
+ render(): React.JSX.Element;
10
10
  }
@@ -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 './island-legacy.css';
4
4
  export default class Island extends PureComponent<HTMLAttributes<HTMLElement>> {
@@ -6,7 +6,7 @@ export default class Island extends PureComponent<HTMLAttributes<HTMLElement>> {
6
6
  className: PropTypes.Requireable<string>;
7
7
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
8
8
  };
9
- render(): JSX.Element;
9
+ render(): React.JSX.Element;
10
10
  }
11
11
  export { default as Header } from './header-legacy';
12
12
  export { default as Content } from './content-legacy';
@@ -20,10 +20,10 @@ angularModule.directive('rgIsland', function islandDirective() {
20
20
  },
21
21
  compile,
22
22
  template: `
23
- <div
23
+ <div
24
24
  data-test="ring-island"
25
- class="${styles.island}"
26
- ng-class="{'${styles.narrowIsland}': islandCtrl.narrow}"
25
+ class="${styles.island}"
26
+ ng-class="{'${styles.narrowIsland}': islandCtrl.narrow}"
27
27
  ng-transclude
28
28
  ></div>
29
29
  `,