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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/README.md +1 -6
  2. package/components/alert/alert.d.ts +1 -1
  3. package/components/alert/container.css +3 -0
  4. package/components/alert-service/alert-service.d.ts +2 -2
  5. package/components/analytics/analytics.d.ts +21 -7
  6. package/components/analytics/analytics.js +19 -24
  7. package/components/analytics/analytics__custom-plugin.d.ts +6 -16
  8. package/components/analytics/analytics__custom-plugin.js +12 -52
  9. package/components/analytics/analytics__fus-plugin.d.ts +15 -25
  10. package/components/analytics/analytics__fus-plugin.js +15 -73
  11. package/components/analytics/analytics__ga-plugin.d.ts +13 -3
  12. package/components/analytics/analytics__ga-plugin.js +35 -5
  13. package/components/analytics/analytics__plugin-utils.d.ts +16 -0
  14. package/components/analytics/analytics__plugin-utils.js +26 -1
  15. package/components/auth/auth__core.d.ts +5 -4
  16. package/components/auth/auth__core.js +44 -27
  17. package/components/auth-dialog/auth-dialog.d.ts +2 -2
  18. package/components/auth-dialog/auth-dialog.js +3 -1
  19. package/components/auth-dialog-service/auth-dialog-service.js +4 -1
  20. package/components/avatar/avatar.d.ts +3 -3
  21. package/components/avatar/fallback-avatar.d.ts +2 -2
  22. package/components/avatar/fallback-avatar.js +2 -1
  23. package/components/avatar-editor-ng/avatar-editor-ng.css +1 -1
  24. package/components/badge/badge.d.ts +2 -2
  25. package/components/button/button.css +7 -7
  26. package/components/button/button.d.ts +3 -4
  27. package/components/button/button.js +0 -1
  28. package/components/button-group/button-group.css +2 -2
  29. package/components/button-group/button-group.d.ts +2 -2
  30. package/components/button-group/caption.d.ts +2 -2
  31. package/components/button-ng/button-ng.examples.js +2 -2
  32. package/components/button-ng/button-ng.js +1 -1
  33. package/components/button-set/button-set.d.ts +2 -2
  34. package/components/button-toolbar/button-toolbar.d.ts +2 -2
  35. package/components/checkbox/checkbox.css +2 -2
  36. package/components/checkbox/checkbox.d.ts +2 -2
  37. package/components/code/code.d.ts +1 -1
  38. package/components/confirm/confirm.d.ts +1 -1
  39. package/components/confirm/confirm.js +3 -3
  40. package/components/confirm-ng/confirm-ng.examples.js +1 -1
  41. package/components/confirm-service/confirm-service.js +2 -2
  42. package/components/content-layout/content-layout.d.ts +2 -2
  43. package/components/content-layout/sidebar.d.ts +2 -2
  44. package/components/contenteditable/contenteditable.d.ts +3 -3
  45. package/components/control-label/control-label.css +23 -0
  46. package/components/control-label/control-label.d.ts +11 -0
  47. package/components/control-label/control-label.js +22 -0
  48. package/components/data-list/data-list.css +2 -1
  49. package/components/data-list/data-list.d.ts +3 -3
  50. package/components/data-list/data-list.mock.d.ts +2 -2
  51. package/components/data-list/item.d.ts +3 -3
  52. package/components/data-list/title.d.ts +1 -1
  53. package/components/date-picker/consts.d.ts +5 -5
  54. package/components/date-picker/date-input.d.ts +3 -12
  55. package/components/date-picker/date-input.js +9 -15
  56. package/components/date-picker/date-picker.css +1 -1
  57. package/components/date-picker/date-picker.d.ts +8 -6
  58. package/components/date-picker/date-picker.js +9 -15
  59. package/components/date-picker/date-popup.d.ts +1 -1
  60. package/components/date-picker/date-popup.js +2 -1
  61. package/components/date-picker/day.d.ts +2 -2
  62. package/components/date-picker/month-names.d.ts +2 -2
  63. package/components/date-picker/month-names.js +2 -2
  64. package/components/date-picker/month-slider.d.ts +2 -2
  65. package/components/date-picker/month.d.ts +2 -2
  66. package/components/date-picker/months.d.ts +2 -2
  67. package/components/date-picker/months.js +46 -29
  68. package/components/date-picker/weekdays.d.ts +2 -2
  69. package/components/date-picker/years.d.ts +6 -2
  70. package/components/date-picker/years.js +26 -14
  71. package/components/dialog/dialog.css +1 -1
  72. package/components/dialog/dialog.d.ts +4 -16
  73. package/components/dialog/dialog.js +4 -2
  74. package/components/dialog-ng/dialog-ng.examples.js +1 -1
  75. package/components/dialog-ng/dialog-ng.js +4 -5
  76. package/components/dropdown/anchor.d.ts +1 -1
  77. package/components/dropdown/dropdown.d.ts +8 -1
  78. package/components/editable-heading/editable-heading.css +20 -7
  79. package/components/editable-heading/editable-heading.d.ts +2 -2
  80. package/components/editable-heading/editable-heading.js +39 -12
  81. package/components/error-bubble/error-bubble.d.ts +2 -2
  82. package/components/error-message/error-message.d.ts +2 -2
  83. package/components/footer/footer.js +1 -0
  84. package/components/form/form.examples.js +1 -0
  85. package/components/global/angular-component-factory.js +13 -7
  86. package/components/global/angular-component-factory.test.js +30 -10
  87. package/components/global/controls-height.d.ts +2 -0
  88. package/components/global/controls-height.js +8 -0
  89. package/components/global/create-stateful-context.d.ts +1 -1
  90. package/components/global/focus-sensor-hoc.d.ts +1 -0
  91. package/components/global/focus-sensor-hoc.js +5 -4
  92. package/components/global/react-dom-renderer.d.ts +4 -4
  93. package/components/global/react-dom-renderer.js +5 -5
  94. package/components/global/react-render-adapter.js +19 -31
  95. package/components/global/ring-angular-component.js +1 -3
  96. package/components/global/ring-angular-component.test.js +2 -1
  97. package/components/global/use-event-callback.d.ts +1 -0
  98. package/components/global/use-event-callback.js +14 -0
  99. package/components/global/variables_dark.css +2 -2
  100. package/components/grid/col.d.ts +2 -2
  101. package/components/grid/grid.d.ts +2 -2
  102. package/components/grid/row.d.ts +2 -2
  103. package/components/group/group.d.ts +2 -2
  104. package/components/header/header.d.ts +2 -2
  105. package/components/header/logo.d.ts +2 -2
  106. package/components/header/profile.d.ts +4 -2
  107. package/components/header/profile.js +15 -11
  108. package/components/header/services-link.d.ts +2 -2
  109. package/components/header/services.d.ts +2 -2
  110. package/components/header/smart-profile.d.ts +2 -2
  111. package/components/header/smart-services.d.ts +2 -2
  112. package/components/header/tray-icon.d.ts +2 -2
  113. package/components/header/tray.d.ts +2 -2
  114. package/components/heading/heading.css +8 -8
  115. package/components/http/http.d.ts +16 -6
  116. package/components/http/http.js +26 -0
  117. package/components/hub-source/hub-source__users-groups.d.ts +1 -1
  118. package/components/i18n/README.md +46 -0
  119. package/components/i18n/i18n-context.d.ts +13 -0
  120. package/components/i18n/i18n-context.js +14 -0
  121. package/components/i18n/i18n.d.ts +59 -0
  122. package/components/i18n/i18n.js +26 -0
  123. package/components/i18n/messages.json +53 -0
  124. package/components/icon/icon.d.ts +3 -3
  125. package/components/icon/icon__svg.d.ts +1 -1
  126. package/components/input/input-legacy.css +3 -3
  127. package/components/input/input.css +8 -21
  128. package/components/input/input.d.ts +7 -1
  129. package/components/input/input.js +18 -14
  130. package/components/input-ng/input-ng.examples.js +3 -1
  131. package/components/input-ng/input-ng.js +3 -2
  132. package/components/input-size/input-size.examples.js +1 -0
  133. package/components/island/adaptive-island-hoc.d.ts +2 -2
  134. package/components/island/content.d.ts +1 -1
  135. package/components/island/header.d.ts +2 -2
  136. package/components/island/island.css +1 -1
  137. package/components/island/island.d.ts +3 -3
  138. package/components/island-legacy/content-legacy.d.ts +2 -2
  139. package/components/island-legacy/header-legacy.d.ts +2 -2
  140. package/components/island-legacy/island-legacy.d.ts +2 -2
  141. package/components/island-ng/island-ng.js +3 -3
  142. package/components/link/clickableLink.d.ts +1 -1
  143. package/components/link/link.css +1 -1
  144. package/components/link/link.d.ts +8 -9
  145. package/components/link/link.js +0 -1
  146. package/components/list/consts.js +3 -0
  147. package/components/list/list.css +2 -2
  148. package/components/list/list.d.ts +7 -7
  149. package/components/list/list.js +4 -1
  150. package/components/list/list__custom.d.ts +1 -1
  151. package/components/list/list__hint.d.ts +2 -2
  152. package/components/list/list__item.d.ts +2 -2
  153. package/components/list/list__link.d.ts +2 -2
  154. package/components/list/list__separator.d.ts +2 -2
  155. package/components/list/list__title.d.ts +2 -2
  156. package/components/loader/loader.d.ts +2 -2
  157. package/components/loader-inline/loader-inline.d.ts +2 -2
  158. package/components/loader-ng/loader-ng.js +1 -1
  159. package/components/loader-screen/loader-screen.d.ts +2 -2
  160. package/components/login-dialog/login-dialog.d.ts +2 -2
  161. package/components/login-dialog/service.js +4 -1
  162. package/components/markdown/code.d.ts +2 -2
  163. package/components/markdown/heading.d.ts +2 -2
  164. package/components/markdown/link.d.ts +2 -2
  165. package/components/markdown/markdown.d.ts +2 -2
  166. package/components/message/message.d.ts +3 -7
  167. package/components/message/message.js +17 -16
  168. package/components/pager/pager.d.ts +8 -13
  169. package/components/pager/pager.js +12 -14
  170. package/components/panel/panel.css +1 -1
  171. package/components/panel/panel.d.ts +2 -2
  172. package/components/popup/popup.d.ts +2 -2
  173. package/components/popup/popup.js +1 -1
  174. package/components/popup/position.d.ts +1 -1
  175. package/components/popup/position.js +43 -33
  176. package/components/popup-menu/popup-menu.d.ts +2 -2
  177. package/components/progress-bar/progress-bar.d.ts +2 -2
  178. package/components/promised-click-ng/promised-click-ng.js +1 -1
  179. package/components/query-assist/query-assist.css +16 -11
  180. package/components/query-assist/query-assist.d.ts +3 -7
  181. package/components/query-assist/query-assist.js +50 -31
  182. package/components/query-assist/query-assist__suggestions.d.ts +2 -2
  183. package/components/radio/radio.css +1 -1
  184. package/components/radio/radio.d.ts +1 -1
  185. package/components/radio/radio__item.d.ts +1 -1
  186. package/components/select/select-popup.css +2 -2
  187. package/components/select/select.css +9 -5
  188. package/components/select/select.d.ts +20 -9
  189. package/components/select/select.js +47 -23
  190. package/components/select/select__filter.d.ts +2 -3
  191. package/components/select/select__filter.js +4 -2
  192. package/components/select/select__popup.d.ts +48 -8
  193. package/components/select/select__popup.js +29 -8
  194. package/components/shortcuts/shortcuts-hoc.d.ts +2 -2
  195. package/components/shortcuts/shortcuts.d.ts +1 -1
  196. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -2
  197. package/components/sidebar-ng/sidebar-ng.js +1 -2
  198. package/components/tab-trap/tab-trap.d.ts +1 -1
  199. package/components/table/cell.d.ts +2 -2
  200. package/components/table/disable-hover-hoc.d.ts +2 -2
  201. package/components/table/header-cell.d.ts +2 -2
  202. package/components/table/header.d.ts +3 -14
  203. package/components/table/header.js +5 -49
  204. package/components/table/multitable.d.ts +2 -2
  205. package/components/table/row-with-focus-sensor.d.ts +1 -1
  206. package/components/table/row.d.ts +2 -1
  207. package/components/table/row.js +4 -3
  208. package/components/table/smart-table.d.ts +3 -1
  209. package/components/table/table.css +9 -26
  210. package/components/table/table.d.ts +6 -4
  211. package/components/table/table.js +5 -3
  212. package/components/tabs/collapsible-more.d.ts +3 -3
  213. package/components/tabs/collapsible-tab.d.ts +1 -1
  214. package/components/tabs/collapsible-tabs.d.ts +2 -2
  215. package/components/tabs/dumb-tabs.d.ts +5 -3
  216. package/components/tabs/dumb-tabs.js +3 -2
  217. package/components/tabs/smart-tabs.d.ts +2 -2
  218. package/components/tabs/tab-link.d.ts +1 -1
  219. package/components/tabs/tab.d.ts +2 -2
  220. package/components/tabs/tab.js +3 -3
  221. package/components/tabs/tabs.css +4 -1
  222. package/components/tag/tag.css +3 -3
  223. package/components/tag/tag.d.ts +5 -5
  224. package/components/tags-input/tags-input.css +1 -1
  225. package/components/tags-input/tags-input.d.ts +9 -4
  226. package/components/tags-input/tags-input.js +7 -7
  227. package/components/tags-list/tags-list.d.ts +2 -2
  228. package/components/template-ng/template-ng.js +1 -2
  229. package/components/text/text.css +12 -0
  230. package/components/text/text.d.ts +8 -2
  231. package/components/text/text.js +12 -2
  232. package/components/toggle/toggle.css +1 -1
  233. package/components/toggle/toggle.d.ts +2 -2
  234. package/components/tooltip/tooltip.d.ts +1 -1
  235. package/components/user-agreement/service.js +4 -1
  236. package/components/user-agreement/user-agreement.d.ts +3 -11
  237. package/components/user-agreement/user-agreement.js +31 -30
  238. package/components/user-card/card.d.ts +22 -21
  239. package/components/user-card/card.js +29 -29
  240. package/components/user-card/smart-user-card-tooltip.d.ts +3 -3
  241. package/components/user-card/tooltip.d.ts +11 -6
  242. package/components/user-card/tooltip.js +1 -1
  243. package/components/user-card/user-card.css +10 -1
  244. package/dist/_helpers/_rollupPluginBabelHelpers.js +614 -1
  245. package/dist/_helpers/anchor.js +7 -8
  246. package/dist/_helpers/badge.js +1 -1
  247. package/dist/_helpers/button-group.js +1 -1
  248. package/dist/_helpers/button-set.js +1 -1
  249. package/dist/_helpers/button-toolbar.js +1 -1
  250. package/dist/_helpers/button__classes.js +17 -29
  251. package/dist/_helpers/card.js +100 -91
  252. package/dist/_helpers/checkbox.js +1 -1
  253. package/dist/_helpers/control-label.js +3 -0
  254. package/dist/_helpers/date-picker.js +1 -1
  255. package/dist/_helpers/dialog__body-scroll-preventer.js +21 -12
  256. package/dist/_helpers/error-message.js +1 -1
  257. package/dist/_helpers/footer.js +31 -35
  258. package/dist/_helpers/grid.js +1 -1
  259. package/dist/_helpers/group.js +1 -1
  260. package/dist/_helpers/header.js +1 -1
  261. package/dist/_helpers/icon.js +1 -1
  262. package/dist/_helpers/input.js +1 -1
  263. package/dist/_helpers/island.js +1 -1
  264. package/dist/_helpers/link.js +1 -1
  265. package/dist/_helpers/list.js +1 -1
  266. package/dist/_helpers/loader-inline.js +1 -1
  267. package/dist/_helpers/loader-screen.js +1 -1
  268. package/dist/_helpers/panel.js +1 -1
  269. package/dist/_helpers/query-assist__suggestions.js +92 -75
  270. package/dist/_helpers/radio.js +1 -1
  271. package/dist/_helpers/select__filter.js +69 -42
  272. package/dist/_helpers/services-link.js +33 -21
  273. package/dist/_helpers/sidebar.js +87 -86
  274. package/dist/_helpers/table.js +1 -1
  275. package/dist/_helpers/tabs.js +1 -1
  276. package/dist/_helpers/theme.js +43 -36
  277. package/dist/_helpers/title.js +66 -56
  278. package/dist/alert/alert.d.ts +1 -1
  279. package/dist/alert/alert.js +164 -127
  280. package/dist/alert/container.js +40 -29
  281. package/dist/alert-service/alert-service.d.ts +2 -2
  282. package/dist/alert-service/alert-service.js +169 -103
  283. package/dist/analytics/analytics.d.ts +21 -7
  284. package/dist/analytics/analytics.js +90 -71
  285. package/dist/analytics/analytics__custom-plugin.d.ts +6 -16
  286. package/dist/analytics/analytics__custom-plugin.js +74 -87
  287. package/dist/analytics/analytics__fus-plugin.d.ts +15 -25
  288. package/dist/analytics/analytics__fus-plugin.js +31 -89
  289. package/dist/analytics/analytics__ga-plugin.d.ts +13 -3
  290. package/dist/analytics/analytics__ga-plugin.js +76 -25
  291. package/dist/analytics/analytics__plugin-utils.d.ts +16 -0
  292. package/dist/analytics/analytics__plugin-utils.js +52 -21
  293. package/dist/auth/auth.js +39 -5
  294. package/dist/auth/auth__core.d.ts +5 -4
  295. package/dist/auth/auth__core.js +1459 -719
  296. package/dist/auth/background-flow.js +125 -84
  297. package/dist/auth/down-notification.js +76 -32
  298. package/dist/auth/iframe-flow.js +129 -69
  299. package/dist/auth/landing.js +93 -31
  300. package/dist/auth/request-builder.js +79 -45
  301. package/dist/auth/response-parser.js +117 -85
  302. package/dist/auth/storage.js +322 -161
  303. package/dist/auth/token-validator.js +239 -128
  304. package/dist/auth/window-flow.js +126 -83
  305. package/dist/auth-dialog/auth-dialog.d.ts +2 -2
  306. package/dist/auth-dialog/auth-dialog.js +152 -94
  307. package/dist/auth-dialog-service/auth-dialog-service.js +36 -10
  308. package/dist/auth-ng/auth-ng.js +73 -35
  309. package/dist/auth-ng/auth-ng.mock.js +6 -6
  310. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  311. package/dist/avatar/avatar-example-datauri.js +1 -23
  312. package/dist/avatar/avatar.d.ts +3 -3
  313. package/dist/avatar/avatar.js +132 -99
  314. package/dist/avatar/fallback-avatar.d.ts +2 -2
  315. package/dist/avatar/fallback-avatar.js +44 -24
  316. package/dist/avatar-editor-ng/avatar-editor-ng.js +57 -25
  317. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  318. package/dist/avatar-ng/avatar-ng.js +22 -0
  319. package/dist/badge/badge.d.ts +2 -2
  320. package/dist/badge/badge.js +34 -26
  321. package/dist/badge-ng/badge-ng.js +12 -0
  322. package/dist/breadcrumb-ng/breadcrumb-ng.js +17 -32
  323. package/dist/button/button.d.ts +3 -4
  324. package/dist/button/button.js +89 -69
  325. package/dist/button/button__classes.js +1 -0
  326. package/dist/button-group/button-group.d.ts +2 -2
  327. package/dist/button-group/button-group.js +31 -15
  328. package/dist/button-group/caption.d.ts +2 -2
  329. package/dist/button-group/caption.js +19 -11
  330. package/dist/button-group-ng/button-group-ng.js +13 -7
  331. package/dist/button-ng/button-ng.js +132 -112
  332. package/dist/button-set/button-set.d.ts +2 -2
  333. package/dist/button-set/button-set.js +29 -15
  334. package/dist/button-set-ng/button-set-ng.js +2 -2
  335. package/dist/button-toolbar/button-toolbar.d.ts +2 -2
  336. package/dist/button-toolbar/button-toolbar.js +28 -14
  337. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  338. package/dist/caret/caret.js +223 -188
  339. package/dist/checkbox/checkbox.d.ts +2 -2
  340. package/dist/checkbox/checkbox.js +83 -58
  341. package/dist/checkbox-ng/checkbox-ng.js +18 -28
  342. package/dist/clipboard/clipboard-fallback.js +10 -10
  343. package/dist/clipboard/clipboard.js +131 -35
  344. package/dist/code/code.d.ts +1 -1
  345. package/dist/code/code.js +153 -81
  346. package/dist/compiler-ng/compiler-ng.js +18 -15
  347. package/dist/confirm/confirm.d.ts +1 -1
  348. package/dist/confirm/confirm.js +85 -47
  349. package/dist/confirm-ng/confirm-ng.js +34 -6
  350. package/dist/confirm-service/confirm-service.js +67 -44
  351. package/dist/content-layout/content-layout.d.ts +2 -2
  352. package/dist/content-layout/content-layout.js +53 -35
  353. package/dist/content-layout/sidebar.d.ts +2 -2
  354. package/dist/content-layout/sidebar.js +1 -0
  355. package/dist/contenteditable/contenteditable.d.ts +3 -3
  356. package/dist/contenteditable/contenteditable.js +54 -43
  357. package/dist/control-label/control-label.d.ts +11 -0
  358. package/dist/control-label/control-label.js +31 -0
  359. package/dist/data-list/data-list.d.ts +3 -3
  360. package/dist/data-list/data-list.js +164 -114
  361. package/dist/data-list/data-list.mock.d.ts +2 -2
  362. package/dist/data-list/data-list.mock.js +11 -3
  363. package/dist/data-list/item.d.ts +3 -3
  364. package/dist/data-list/item.js +140 -113
  365. package/dist/data-list/selection.js +139 -77
  366. package/dist/data-list/title.d.ts +1 -1
  367. package/dist/data-list/title.js +12 -0
  368. package/dist/data-list-ng/data-list-ng.js +30 -1
  369. package/dist/date-picker/consts.d.ts +5 -5
  370. package/dist/date-picker/consts.js +18 -15
  371. package/dist/date-picker/date-input.d.ts +3 -12
  372. package/dist/date-picker/date-input.js +131 -107
  373. package/dist/date-picker/date-picker.d.ts +8 -6
  374. package/dist/date-picker/date-picker.js +214 -160
  375. package/dist/date-picker/date-popup.d.ts +1 -1
  376. package/dist/date-picker/date-popup.js +340 -297
  377. package/dist/date-picker/day.d.ts +2 -2
  378. package/dist/date-picker/day.js +78 -68
  379. package/dist/date-picker/month-names.d.ts +2 -2
  380. package/dist/date-picker/month-names.js +59 -41
  381. package/dist/date-picker/month-slider.d.ts +2 -2
  382. package/dist/date-picker/month-slider.js +59 -40
  383. package/dist/date-picker/month.d.ts +2 -2
  384. package/dist/date-picker/month.js +21 -15
  385. package/dist/date-picker/months.d.ts +2 -2
  386. package/dist/date-picker/months.js +80 -56
  387. package/dist/date-picker/weekdays.d.ts +2 -2
  388. package/dist/date-picker/weekdays.js +18 -12
  389. package/dist/date-picker/years.d.ts +6 -2
  390. package/dist/date-picker/years.js +102 -66
  391. package/dist/dialog/dialog.d.ts +4 -16
  392. package/dist/dialog/dialog.js +148 -98
  393. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  394. package/dist/dialog-ng/dialog-ng.js +404 -291
  395. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  396. package/dist/docked-panel-ng/docked-panel-ng.js +33 -19
  397. package/dist/dropdown/anchor.d.ts +1 -1
  398. package/dist/dropdown/anchor.js +10 -1
  399. package/dist/dropdown/dropdown.d.ts +8 -1
  400. package/dist/dropdown/dropdown.js +158 -130
  401. package/dist/dropdown-menu/dropdown-menu.js +102 -73
  402. package/dist/editable-heading/editable-heading.d.ts +2 -2
  403. package/dist/editable-heading/editable-heading.js +133 -62
  404. package/dist/error-bubble/error-bubble.d.ts +2 -2
  405. package/dist/error-bubble/error-bubble.js +60 -27
  406. package/dist/error-message/error-message.d.ts +2 -2
  407. package/dist/error-message/error-message.js +52 -29
  408. package/dist/error-message-ng/error-message-ng.js +12 -24
  409. package/dist/footer/footer.js +11 -2
  410. package/dist/footer-ng/footer-ng.js +52 -27
  411. package/dist/form-ng/form-ng.js +67 -57
  412. package/dist/global/angular-component-factory.js +78 -50
  413. package/dist/global/compose.js +10 -1
  414. package/dist/global/composeRefs.js +12 -7
  415. package/dist/global/controls-height.d.ts +2 -0
  416. package/dist/global/controls-height.js +10 -2
  417. package/dist/global/create-stateful-context.d.ts +1 -1
  418. package/dist/global/create-stateful-context.js +19 -19
  419. package/dist/global/data-tests.js +15 -7
  420. package/dist/global/dom.js +93 -55
  421. package/dist/global/focus-sensor-hoc.d.ts +1 -0
  422. package/dist/global/focus-sensor-hoc.js +118 -102
  423. package/dist/global/fuzzy-highlight.js +41 -27
  424. package/dist/global/get-event-key.js +8 -8
  425. package/dist/global/get-uid.js +8 -4
  426. package/dist/global/inject-styles.js +15 -10
  427. package/dist/global/linear-function.js +2 -2
  428. package/dist/global/listeners.js +50 -28
  429. package/dist/global/memoize.js +13 -6
  430. package/dist/global/normalize-indent.js +51 -19
  431. package/dist/global/promise-with-timeout.js +8 -6
  432. package/dist/global/prop-types.js +5 -3
  433. package/dist/global/react-dom-renderer.d.ts +4 -4
  434. package/dist/global/react-dom-renderer.js +44 -28
  435. package/dist/global/react-render-adapter.js +21 -15
  436. package/dist/global/rerender-hoc.js +40 -19
  437. package/dist/global/ring-angular-component.js +18 -10
  438. package/dist/global/schedule-raf.js +6 -5
  439. package/dist/global/sniffer.js +1 -1
  440. package/dist/global/theme.js +24 -0
  441. package/dist/global/trivial-template-tag.js +10 -3
  442. package/dist/global/typescript-utils.js +6 -2
  443. package/dist/global/url.js +27 -21
  444. package/dist/global/use-event-callback.d.ts +1 -0
  445. package/dist/global/use-event-callback.js +17 -0
  446. package/dist/grid/col.d.ts +2 -2
  447. package/dist/grid/col.js +42 -23
  448. package/dist/grid/grid.d.ts +2 -2
  449. package/dist/grid/grid.js +32 -13
  450. package/dist/grid/row.d.ts +2 -2
  451. package/dist/grid/row.js +32 -20
  452. package/dist/group/group.d.ts +2 -2
  453. package/dist/group/group.js +23 -13
  454. package/dist/group-ng/group-ng.js +2 -2
  455. package/dist/header/header.d.ts +2 -2
  456. package/dist/header/header.js +75 -25
  457. package/dist/header/logo.d.ts +2 -2
  458. package/dist/header/logo.js +31 -12
  459. package/dist/header/profile.d.ts +4 -2
  460. package/dist/header/profile.js +154 -105
  461. package/dist/header/services-link.d.ts +2 -2
  462. package/dist/header/services-link.js +9 -1
  463. package/dist/header/services.d.ts +2 -2
  464. package/dist/header/services.js +104 -63
  465. package/dist/header/smart-profile.d.ts +2 -2
  466. package/dist/header/smart-profile.js +194 -98
  467. package/dist/header/smart-services.d.ts +2 -2
  468. package/dist/header/smart-services.js +104 -52
  469. package/dist/header/tray-icon.d.ts +2 -2
  470. package/dist/header/tray-icon.js +36 -20
  471. package/dist/header/tray.d.ts +2 -2
  472. package/dist/header/tray.js +30 -17
  473. package/dist/heading/heading.js +26 -27
  474. package/dist/heading-ng/heading-ng.js +10 -0
  475. package/dist/http/http.d.ts +16 -6
  476. package/dist/http/http.js +357 -170
  477. package/dist/http/http.mock.js +105 -50
  478. package/dist/hub-source/hub-source.js +183 -77
  479. package/dist/hub-source/hub-source__user.js +45 -12
  480. package/dist/hub-source/hub-source__users-groups.d.ts +1 -1
  481. package/dist/hub-source/hub-source__users-groups.js +63 -34
  482. package/dist/i18n/i18n-context.d.ts +13 -0
  483. package/dist/i18n/i18n-context.js +28 -0
  484. package/dist/i18n/i18n.d.ts +59 -0
  485. package/dist/i18n/i18n.js +140 -0
  486. package/dist/icon/icon.d.ts +3 -3
  487. package/dist/icon/icon.js +77 -59
  488. package/dist/icon/icon__svg.d.ts +1 -1
  489. package/dist/icon/icon__svg.js +31 -24
  490. package/dist/icon/index.js +9 -0
  491. package/dist/icon-ng/icon-ng.js +27 -16
  492. package/dist/input/input.d.ts +7 -1
  493. package/dist/input/input.js +178 -131
  494. package/dist/input-ng/input-ng.js +77 -99
  495. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  496. package/dist/island/adaptive-island-hoc.js +38 -27
  497. package/dist/island/content.d.ts +1 -1
  498. package/dist/island/content.js +104 -92
  499. package/dist/island/header.d.ts +2 -2
  500. package/dist/island/header.js +60 -47
  501. package/dist/island/island.d.ts +3 -3
  502. package/dist/island/island.js +33 -21
  503. package/dist/island-legacy/content-legacy.d.ts +2 -2
  504. package/dist/island-legacy/content-legacy.js +23 -13
  505. package/dist/island-legacy/header-legacy.d.ts +2 -2
  506. package/dist/island-legacy/header-legacy.js +25 -15
  507. package/dist/island-legacy/island-legacy.d.ts +2 -2
  508. package/dist/island-legacy/island-legacy.js +23 -13
  509. package/dist/island-ng/island-content-ng.js +17 -26
  510. package/dist/island-ng/island-header-ng.js +9 -12
  511. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  512. package/dist/island-ng/island-ng.js +6 -10
  513. package/dist/link/clickableLink.d.ts +1 -1
  514. package/dist/link/clickableLink.js +43 -29
  515. package/dist/link/link.d.ts +8 -9
  516. package/dist/link/link.js +72 -62
  517. package/dist/link-ng/link-ng.js +5 -7
  518. package/dist/list/consts.js +4 -1
  519. package/dist/list/list.d.ts +7 -7
  520. package/dist/list/list.js +499 -402
  521. package/dist/list/list__custom.d.ts +1 -1
  522. package/dist/list/list__custom.js +60 -47
  523. package/dist/list/list__hint.d.ts +2 -2
  524. package/dist/list/list__hint.js +18 -8
  525. package/dist/list/list__item.d.ts +2 -2
  526. package/dist/list/list__item.js +167 -132
  527. package/dist/list/list__link.d.ts +2 -2
  528. package/dist/list/list__link.js +54 -38
  529. package/dist/list/list__separator.d.ts +2 -2
  530. package/dist/list/list__separator.js +24 -14
  531. package/dist/list/list__title.d.ts +2 -2
  532. package/dist/list/list__title.js +32 -22
  533. package/dist/list/list__users-groups-source.js +130 -54
  534. package/dist/loader/loader.d.ts +2 -2
  535. package/dist/loader/loader.js +66 -34
  536. package/dist/loader/loader__core.js +197 -129
  537. package/dist/loader-inline/loader-inline.d.ts +2 -2
  538. package/dist/loader-inline/loader-inline.js +32 -18
  539. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  540. package/dist/loader-ng/loader-ng.js +44 -18
  541. package/dist/loader-screen/loader-screen.d.ts +2 -2
  542. package/dist/loader-screen/loader-screen.js +43 -20
  543. package/dist/loader-screen-ng/loader-screen-ng.js +45 -30
  544. package/dist/login-dialog/login-dialog.d.ts +2 -2
  545. package/dist/login-dialog/login-dialog.js +125 -78
  546. package/dist/login-dialog/service.js +39 -10
  547. package/dist/markdown/code.d.ts +2 -2
  548. package/dist/markdown/code.js +30 -9
  549. package/dist/markdown/heading.d.ts +2 -2
  550. package/dist/markdown/heading.js +3 -5
  551. package/dist/markdown/link.d.ts +2 -2
  552. package/dist/markdown/link.js +13 -7
  553. package/dist/markdown/markdown.d.ts +2 -2
  554. package/dist/markdown/markdown.js +67 -35
  555. package/dist/message/message.d.ts +3 -7
  556. package/dist/message/message.js +153 -119
  557. package/dist/message-bundle-ng/message-bundle-ng.js +130 -46
  558. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  559. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  560. package/dist/old-browsers-message/white-list.js +17 -10
  561. package/dist/pager/pager.d.ts +8 -13
  562. package/dist/pager/pager.js +259 -188
  563. package/dist/pager-ng/pager-ng.js +39 -2
  564. package/dist/panel/panel.d.ts +2 -2
  565. package/dist/panel/panel.js +23 -13
  566. package/dist/panel-ng/panel-ng.js +13 -1
  567. package/dist/permissions/permissions.js +166 -122
  568. package/dist/permissions/permissions__cache.js +220 -191
  569. package/dist/permissions-ng/permissions-ng.js +89 -36
  570. package/dist/place-under-ng/place-under-ng.js +67 -45
  571. package/dist/popup/popup.consts.js +1 -1
  572. package/dist/popup/popup.d.ts +2 -2
  573. package/dist/popup/popup.js +299 -236
  574. package/dist/popup/popup.target.js +8 -9
  575. package/dist/popup/position.d.ts +1 -1
  576. package/dist/popup/position.js +175 -154
  577. package/dist/popup-menu/popup-menu.d.ts +2 -2
  578. package/dist/popup-menu/popup-menu.js +80 -42
  579. package/dist/progress-bar/progress-bar.d.ts +2 -2
  580. package/dist/progress-bar/progress-bar.js +66 -52
  581. package/dist/progress-bar-ng/progress-bar-ng.js +10 -0
  582. package/dist/promised-click-ng/promised-click-ng.js +93 -60
  583. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  584. package/dist/query-assist/query-assist.d.ts +3 -7
  585. package/dist/query-assist/query-assist.js +677 -567
  586. package/dist/query-assist/query-assist__suggestions.d.ts +2 -2
  587. package/dist/query-assist/query-assist__suggestions.js +33 -2
  588. package/dist/query-assist-ng/query-assist-ng.js +41 -2
  589. package/dist/radio/radio.d.ts +1 -1
  590. package/dist/radio/radio.js +28 -14
  591. package/dist/radio/radio__item.d.ts +1 -1
  592. package/dist/radio/radio__item.js +60 -44
  593. package/dist/radio-ng/radio-ng.js +14 -25
  594. package/dist/save-field-ng/save-field-ng.js +90 -56
  595. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  596. package/dist/select/select.d.ts +20 -9
  597. package/dist/select/select.js +831 -699
  598. package/dist/select/select__filter.d.ts +2 -3
  599. package/dist/select/select__filter.js +37 -2
  600. package/dist/select/select__popup.d.ts +48 -8
  601. package/dist/select/select__popup.js +430 -293
  602. package/dist/select-ng/select-ng.js +130 -77
  603. package/dist/select-ng/select-ng__lazy.js +104 -51
  604. package/dist/select-ng/select-ng__options.js +93 -68
  605. package/dist/shortcuts/core.js +197 -146
  606. package/dist/shortcuts/shortcut-title.js +11 -6
  607. package/dist/shortcuts/shortcuts-hoc.d.ts +2 -2
  608. package/dist/shortcuts/shortcuts-hoc.js +43 -19
  609. package/dist/shortcuts/shortcuts.d.ts +1 -1
  610. package/dist/shortcuts/shortcuts.js +69 -43
  611. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +109 -58
  612. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  613. package/dist/shortcuts-ng/shortcuts-ng.js +110 -76
  614. package/dist/sidebar-ng/sidebar-ng.js +55 -25
  615. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  616. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  617. package/dist/storage/storage.js +34 -4
  618. package/dist/storage/storage__fallback.js +217 -143
  619. package/dist/storage/storage__local.js +155 -90
  620. package/dist/style.css +1 -1
  621. package/dist/tab-trap/tab-trap.d.ts +1 -1
  622. package/dist/tab-trap/tab-trap.js +117 -84
  623. package/dist/table/cell.d.ts +2 -2
  624. package/dist/table/cell.js +23 -9
  625. package/dist/table/disable-hover-hoc.d.ts +2 -2
  626. package/dist/table/disable-hover-hoc.js +44 -26
  627. package/dist/table/header-cell.d.ts +2 -2
  628. package/dist/table/header-cell.js +74 -54
  629. package/dist/table/header.d.ts +3 -14
  630. package/dist/table/header.js +102 -131
  631. package/dist/table/multitable.d.ts +2 -2
  632. package/dist/table/multitable.js +102 -86
  633. package/dist/table/row-with-focus-sensor.d.ts +1 -1
  634. package/dist/table/row-with-focus-sensor.js +69 -24
  635. package/dist/table/row.d.ts +2 -1
  636. package/dist/table/row.js +191 -155
  637. package/dist/table/selection-adapter.js +3 -1
  638. package/dist/table/selection-shortcuts-hoc.js +132 -131
  639. package/dist/table/selection.js +220 -150
  640. package/dist/table/smart-table.d.ts +3 -1
  641. package/dist/table/smart-table.js +87 -50
  642. package/dist/table/table.d.ts +6 -4
  643. package/dist/table/table.js +311 -247
  644. package/dist/table-legacy-ng/table-legacy-ng.js +120 -103
  645. package/dist/table-legacy-ng/table-legacy-ng__pager.js +46 -12
  646. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  647. package/dist/table-legacy-ng/table-legacy-ng__selection.js +167 -119
  648. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +35 -21
  649. package/dist/table-ng/smart-table-ng.js +30 -2
  650. package/dist/table-ng/table-ng.js +30 -2
  651. package/dist/tabs/collapsible-more.d.ts +3 -3
  652. package/dist/tabs/collapsible-more.js +92 -56
  653. package/dist/tabs/collapsible-tab.d.ts +1 -1
  654. package/dist/tabs/collapsible-tab.js +45 -39
  655. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  656. package/dist/tabs/collapsible-tabs.js +161 -95
  657. package/dist/tabs/custom-item.js +2 -4
  658. package/dist/tabs/dumb-tabs.d.ts +5 -3
  659. package/dist/tabs/dumb-tabs.js +101 -56
  660. package/dist/tabs/smart-tabs.d.ts +2 -2
  661. package/dist/tabs/smart-tabs.js +70 -25
  662. package/dist/tabs/tab-link.d.ts +1 -1
  663. package/dist/tabs/tab-link.js +29 -20
  664. package/dist/tabs/tab.d.ts +2 -2
  665. package/dist/tabs/tab.js +26 -15
  666. package/dist/tabs/tabs.js +35 -1
  667. package/dist/tabs-ng/tabs-ng.js +38 -24
  668. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  669. package/dist/tag/tag.d.ts +5 -5
  670. package/dist/tag/tag.js +146 -113
  671. package/dist/tags-input/tags-input.d.ts +9 -4
  672. package/dist/tags-input/tags-input.js +327 -220
  673. package/dist/tags-input-ng/tags-input-ng.js +40 -2
  674. package/dist/tags-list/tags-list.d.ts +2 -2
  675. package/dist/tags-list/tags-list.js +61 -38
  676. package/dist/template-ng/template-ng.js +45 -35
  677. package/dist/text/text.d.ts +8 -2
  678. package/dist/text/text.js +38 -17
  679. package/dist/title-ng/title-ng.js +28 -23
  680. package/dist/toggle/toggle.d.ts +2 -2
  681. package/dist/toggle/toggle.js +55 -39
  682. package/dist/toggle-ng/toggle-ng.js +13 -0
  683. package/dist/tooltip/tooltip.d.ts +1 -1
  684. package/dist/tooltip/tooltip.js +145 -102
  685. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  686. package/dist/user-agreement/service.js +411 -259
  687. package/dist/user-agreement/toolbox.eula.js +1 -160
  688. package/dist/user-agreement/user-agreement.d.ts +3 -11
  689. package/dist/user-agreement/user-agreement.js +106 -68
  690. package/dist/user-card/card.d.ts +22 -21
  691. package/dist/user-card/card.js +34 -1
  692. package/dist/user-card/smart-user-card-tooltip.d.ts +3 -3
  693. package/dist/user-card/smart-user-card-tooltip.js +139 -76
  694. package/dist/user-card/tooltip.d.ts +11 -6
  695. package/dist/user-card/tooltip.js +75 -32
  696. package/dist/user-card/user-card.js +34 -1
  697. package/dist/user-card-ng/user-card-ng.js +39 -6
  698. package/package.json +86 -82
  699. package/components/input/input-label.d.ts +0 -10
  700. package/components/input/input-label.js +0 -18
  701. package/dist/input/input-label.d.ts +0 -10
  702. package/dist/input/input-label.js +0 -27
@@ -1,4 +1,4 @@
1
- import { Component, HTMLAttributes } from 'react';
1
+ import React, { Component, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface ContentLayoutProps extends HTMLAttributes<HTMLElement> {
4
4
  responsive: boolean;
@@ -21,6 +21,6 @@ export default class ContentLayout extends Component<ContentLayoutProps> {
21
21
  contentNode: null;
22
22
  };
23
23
  saveContentNode: (contentNode: HTMLElement | null) => void;
24
- render(): JSX.Element;
24
+ render(): React.JSX.Element;
25
25
  }
26
26
  export { default as Sidebar } from './sidebar';
@@ -1,4 +1,4 @@
1
- import { Component, HTMLAttributes } from 'react';
1
+ import React, { Component, HTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Waypoint } from 'react-waypoint';
4
4
  export interface SidebarProps extends HTMLAttributes<HTMLElement> {
@@ -27,5 +27,5 @@ export default class Sidebar extends Component<SidebarProps> {
27
27
  shouldUseFixation(): boolean;
28
28
  shouldFixateBottom(): boolean;
29
29
  sidebarRef: (node: HTMLElement | null) => void;
30
- render(): JSX.Element;
30
+ render(): React.JSX.Element;
31
31
  }
@@ -1,4 +1,4 @@
1
- import { Component, HTMLAttributes, Ref } from 'react';
1
+ import React, { Component, HTMLAttributes, Ref } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  /**
4
4
  * @name ContentEditable
@@ -28,12 +28,12 @@ declare class ContentEditableBase extends Component<ContentEditableBaseProps> {
28
28
  };
29
29
  shouldComponentUpdate(nextProps: ContentEditableBaseProps): boolean;
30
30
  componentDidUpdate(prevProps: ContentEditableBaseProps): void;
31
- render(): JSX.Element;
31
+ render(): React.JSX.Element;
32
32
  }
33
33
  type ContentEditableBaseAttrs = JSX.LibraryManagedAttributes<typeof ContentEditableBase, ContentEditableBaseProps>;
34
34
  export type ContentEditableProps = Omit<ContentEditableBaseAttrs, '__html'>;
35
35
  declare const ContentEditable: {
36
- ({ children, ...props }: ContentEditableProps): JSX.Element;
36
+ ({ children, ...props }: ContentEditableProps): React.JSX.Element;
37
37
  propTypes: {
38
38
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
39
39
  disabled: PropTypes.Requireable<boolean>;
@@ -0,0 +1,23 @@
1
+ .label {
2
+ display: block;
3
+
4
+ margin-bottom: calc(var(--ring-unit) * 0.5);
5
+ }
6
+
7
+ .formLabel {
8
+ color: var(--ring-text-color);
9
+
10
+ font-size: var(--ring-font-size);
11
+ line-height: var(--ring-line-height);
12
+ }
13
+
14
+ .secondaryLabel {
15
+ color: var(--ring-secondary-color);
16
+
17
+ font-size: var(--ring-font-size-smaller);
18
+ line-height: var(--ring-line-height-lowest);
19
+ }
20
+
21
+ .disabledLabel {
22
+ color: var(--ring-disabled-color);
23
+ }
@@ -0,0 +1,11 @@
1
+ import React, { LabelHTMLAttributes } from 'react';
2
+ export declare enum LabelType {
3
+ SECONDARY = "secondary",
4
+ FORM = "form"
5
+ }
6
+ interface ControlLabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
7
+ disabled?: boolean;
8
+ type?: LabelType;
9
+ }
10
+ export declare const ControlLabel: React.FC<ControlLabelProps>;
11
+ export default ControlLabel;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classNames from 'classnames';
4
+ import styles from './control-label.css';
5
+ export var LabelType;
6
+ (function (LabelType) {
7
+ LabelType["SECONDARY"] = "secondary";
8
+ LabelType["FORM"] = "form";
9
+ })(LabelType || (LabelType = {}));
10
+ const classNameByType = {
11
+ [LabelType.SECONDARY]: styles.secondaryLabel,
12
+ [LabelType.FORM]: styles.formLabel
13
+ };
14
+ export const ControlLabel = ({ children, type = LabelType.SECONDARY, disabled, ...rest }) => (<label className={classNames(styles.label, classNameByType[type], {
15
+ [styles.disabledLabel]: disabled
16
+ })} {...rest}>{children}</label>);
17
+ ControlLabel.propTypes = {
18
+ label: PropTypes.node,
19
+ labelStyle: PropTypes.string,
20
+ disabled: PropTypes.bool
21
+ };
22
+ export default ControlLabel;
@@ -30,7 +30,8 @@
30
30
 
31
31
  outline: none;
32
32
 
33
- @nest .dataList:not(.disabledHover) &:hover {
33
+ /* stylelint-disable-next-line selector-max-specificity */
34
+ .dataList:not(.disabledHover) &:hover {
34
35
  background-color: var(--ring-hover-background-color);
35
36
  }
36
37
 
@@ -30,7 +30,7 @@ export default class DataListContainer<T extends SelectionItem> extends Componen
30
30
  componentWillUnmount(): void;
31
31
  onMouseMove: () => void;
32
32
  onKeyDown: (e: KeyboardEvent) => void;
33
- render(): JSX.Element;
33
+ render(): React.JSX.Element;
34
34
  context: unknown;
35
35
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
36
36
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -57,7 +57,7 @@ export default class DataListContainer<T extends SelectionItem> extends Componen
57
57
  componentWillUnmount(): void;
58
58
  onMouseMove: () => void;
59
59
  onKeyDown: (e: KeyboardEvent) => void;
60
- render(): JSX.Element;
60
+ render(): React.JSX.Element;
61
61
  context: unknown;
62
62
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<import("../table/disable-hover-hoc").DisableHoverProps<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
63
63
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -80,6 +80,6 @@ export default class DataListContainer<T extends SelectionItem> extends Componen
80
80
  defaultProps: Partial<import("../table/selection-shortcuts-hoc").SelectionShortcutsProps<T, FocusableProps<T>>> | undefined;
81
81
  contextType?: React.Context<any> | undefined;
82
82
  };
83
- render(): JSX.Element;
83
+ render(): React.JSX.Element;
84
84
  }
85
85
  export {};
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { SelectionItem } from '../table/selection';
3
3
  export interface Item extends SelectionItem {
4
4
  title: ReactNode;
@@ -11,6 +11,6 @@ export declare const moreItems: {
11
11
  id: number;
12
12
  selectable: boolean;
13
13
  collapsible: boolean;
14
- title: JSX.Element;
14
+ title: React.JSX.Element;
15
15
  }[];
16
16
  export default items;
@@ -1,4 +1,4 @@
1
- import { PureComponent, ReactNode } from 'react';
1
+ import React, { PureComponent, ReactNode } from 'react';
2
2
  import Selection, { SelectionItem } from '../table/selection';
3
3
  export declare enum moreLessButtonStates {
4
4
  UNUSED = 0,
@@ -45,6 +45,6 @@ export default class Item<T extends SelectionItem> extends PureComponent<ItemPro
45
45
  onShowLess: () => void;
46
46
  onFocus: () => void;
47
47
  onSelect: (selected: boolean) => void;
48
- renderItem: (model: T, parentShift: number) => JSX.Element;
49
- render(): JSX.Element;
48
+ renderItem: (model: T, parentShift: number) => React.JSX.Element;
49
+ render(): React.JSX.Element;
50
50
  }
@@ -20,7 +20,7 @@ declare class Title extends PureComponent<TitleProps> {
20
20
  onCheckboxFocus: () => void;
21
21
  onCheckboxChange: () => void;
22
22
  toggleSelection(): void;
23
- render(): JSX.Element;
23
+ render(): React.JSX.Element;
24
24
  }
25
25
  declare const _default: React.ComponentType<import("../global/focus-sensor-hoc").FocusSensorProps<TitleProps, HTMLDivElement, typeof Title>>;
26
26
  export default _default;
@@ -27,10 +27,10 @@ export declare const HALF = 0.5;
27
27
  export declare const dateType: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
28
28
  export declare function parseTime(time: string): string | null;
29
29
  export interface DateInputTranslations {
30
- addFirstDate: string;
31
- addSecondDate: string;
32
- addTime: string;
33
- selectName: string;
30
+ addFirstDate?: string;
31
+ addSecondDate?: string;
32
+ addTime?: string;
33
+ selectName?: string;
34
34
  }
35
35
  export interface DateSpecificPopupProps {
36
36
  withTime?: false | undefined;
@@ -66,7 +66,7 @@ export interface DatePopupBaseProps {
66
66
  to?: Date | number | string | null | undefined;
67
67
  minDate?: string | null | undefined;
68
68
  maxDate?: string | null | undefined;
69
- translations: DateInputTranslations;
69
+ translations?: DateInputTranslations | null | undefined;
70
70
  fromPlaceholder?: string | null | undefined;
71
71
  toPlaceholder?: string | null | undefined;
72
72
  timePlaceholder?: string | null | undefined;
@@ -36,22 +36,13 @@ export default class DateInput extends React.PureComponent<DateInputProps> {
36
36
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
37
37
  locale: PropTypes.Requireable<object>;
38
38
  };
39
- static defaultProps: {
40
- fromPlaceholder: null;
41
- toPlaceholder: null;
42
- timePlaceholder: null;
43
- translations: {
44
- addFirstDate: string;
45
- addSecondDate: string;
46
- addTime: string;
47
- selectName: string;
48
- };
49
- };
50
39
  componentDidUpdate(prevProps: DateInputProps): void;
40
+ static contextType: React.Context<import("../i18n/i18n-context").I18nContextProps>;
41
+ context: React.ContextType<typeof DateInput.contextType>;
51
42
  input?: HTMLInputElement | null;
52
43
  inputRef: (el: HTMLInputElement | null) => void;
53
44
  updateInput({ text, active }: UpdateInputConfig): void;
54
45
  handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
55
46
  handleKeyDown: (e: React.KeyboardEvent) => false | void;
56
- render(): JSX.Element;
47
+ render(): React.JSX.Element;
57
48
  }
@@ -3,6 +3,7 @@ import classNames from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import Input from '../input/input';
5
5
  import { ControlsHeight } from '../global/controls-height';
6
+ import { I18nContext } from '../i18n/i18n-context';
6
7
  import { dateType } from './consts';
7
8
  import styles from './date-picker.css';
8
9
  export default class DateInput extends React.PureComponent {
@@ -26,23 +27,13 @@ export default class DateInput extends React.PureComponent {
26
27
  onClear: PropTypes.func,
27
28
  locale: PropTypes.object
28
29
  };
29
- static defaultProps = {
30
- fromPlaceholder: null,
31
- toPlaceholder: null,
32
- timePlaceholder: null,
33
- translations: {
34
- addFirstDate: 'Add first date',
35
- addSecondDate: 'Add second date',
36
- addTime: 'Add time',
37
- selectName: 'Select %name%'
38
- }
39
- };
40
30
  componentDidUpdate(prevProps) {
41
31
  const { hidden, text, active } = this.props;
42
32
  if (!hidden && prevProps.hidden || text !== prevProps.text || active !== prevProps.active) {
43
33
  this.updateInput({ text, active });
44
34
  }
45
35
  }
36
+ static contextType = I18nContext;
46
37
  input;
47
38
  inputRef = (el) => {
48
39
  this.input = el;
@@ -67,6 +58,7 @@ export default class DateInput extends React.PureComponent {
67
58
  handleKeyDown = (e) => e.key === 'Enter' && this.props.onConfirm();
68
59
  render() {
69
60
  const { active, divider, text, time, name, hoverDate, date, displayFormat, translations, onActivate, onClear, fromPlaceholder, toPlaceholder, timePlaceholder, locale } = this.props;
61
+ const { translate } = this.context;
70
62
  let displayText = '';
71
63
  if (active && hoverDate) {
72
64
  displayText = displayFormat(hoverDate, locale);
@@ -83,13 +75,15 @@ export default class DateInput extends React.PureComponent {
83
75
  const placeholder = (() => {
84
76
  switch (name) {
85
77
  case 'from':
86
- return fromPlaceholder || translations.addFirstDate;
78
+ return fromPlaceholder || (translations?.addFirstDate ?? translate('addFirstDate'));
87
79
  case 'to':
88
- return toPlaceholder || translations.addSecondDate;
80
+ return toPlaceholder || (translations?.addSecondDate ?? translate('addSecondDate'));
89
81
  case 'time':
90
- return timePlaceholder || translations.addTime;
82
+ return timePlaceholder || (translations?.addTime ?? translate('addTime'));
91
83
  default:
92
- return translations.selectName.replace('%name%', name);
84
+ return (translations?.selectName ?? translate('selectName')).
85
+ replace('%name%', name).
86
+ replace('{{name}}', name);
93
87
  }
94
88
  })();
95
89
  const classes = classNames(styles.filter, styles[`${name}Input`], divider && styles[`${name}InputWithDivider`], 'ring-js-shortcuts');
@@ -123,7 +123,7 @@
123
123
  text-align: start;
124
124
  white-space: nowrap;
125
125
 
126
- @nest .inline & {
126
+ .inline & {
127
127
  min-width: initial;
128
128
  padding: 0;
129
129
 
@@ -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 type { Locale } from 'date-fns';
4
4
  import Popup from '../popup/popup';
@@ -17,14 +17,14 @@ export type DatePickerProps = Omit<DatePopupProps, 'translations' | 'parseDateIn
17
17
  inline: boolean;
18
18
  popupClassName?: string | null | undefined;
19
19
  dropdownProps?: DropdownAttrs;
20
- translations: DatePickerTranslations;
20
+ translations?: DatePickerTranslations | null | undefined;
21
21
  displayMonthFormat: (date: Date, locale: Locale | undefined) => string;
22
22
  displayDayFormat: (date: Date, locale: Locale | undefined) => string;
23
23
  displayTimeFormat: (date: Date, locale: Locale | undefined) => string;
24
24
  applyTimeInput: (date: Date, time: string | null | undefined) => Date;
25
- datePlaceholder: string;
26
- dateTimePlaceholder: string;
27
- rangePlaceholder: string;
25
+ datePlaceholder?: string;
26
+ dateTimePlaceholder?: string;
27
+ rangePlaceholder?: string;
28
28
  disabled?: boolean | null | undefined;
29
29
  parseDateInput: (input: string | null | undefined) => Date | null;
30
30
  size?: Size;
@@ -62,6 +62,8 @@ export default class DatePicker extends PureComponent<DatePickerProps> {
62
62
  size: PropTypes.Requireable<Size>;
63
63
  };
64
64
  static defaultProps: DatePickerProps;
65
+ static contextType: React.Context<import("../i18n/i18n-context").I18nContextProps>;
66
+ context: React.ContextType<typeof DatePicker.contextType>;
65
67
  handleChange: (change: DatePickerChange | Date | null | undefined) => void;
66
68
  clear: () => void;
67
69
  popup?: Popup | null;
@@ -70,6 +72,6 @@ export default class DatePicker extends PureComponent<DatePickerProps> {
70
72
  parse: (arg: string | number | Date | null | undefined) => Date | null;
71
73
  formatTime(): string | null;
72
74
  getAnchorText: () => string;
73
- render(): JSX.Element;
75
+ render(): React.JSX.Element;
74
76
  }
75
77
  export type DatePickerAttrs = JSX.LibraryManagedAttributes<typeof DatePicker, DatePickerProps>;
@@ -17,11 +17,11 @@ import Icon from '../icon';
17
17
  import Button from '../button/button';
18
18
  import Link from '../link/link';
19
19
  import { Size } from '../input/input';
20
+ import { I18nContext } from '../i18n/i18n-context';
20
21
  import DatePopup from './date-popup';
21
22
  import { dateType } from './consts';
22
23
  import styles from './date-picker.css';
23
24
  import formats from './formats';
24
- import DateInput from './date-input';
25
25
  const PopupComponent = ({ hidden = false, className, popupRef, onClear, datePopupProps, onComplete, ...restProps }) => (<Popup hidden={hidden} keepMounted className={className} ref={popupRef} directions={[
26
26
  Popup.PopupProps.Directions.BOTTOM_RIGHT,
27
27
  Popup.PopupProps.Directions.BOTTOM_LEFT,
@@ -84,17 +84,9 @@ export default class DatePicker extends PureComponent {
84
84
  displayMonthFormat: (date, locale) => (date ? formatDate(date, 'd MMM', { locale }) : ''),
85
85
  displayDayFormat: (date, locale) => (date ? formatDate(date, 'd', { locale }) : ''),
86
86
  displayTimeFormat: (date, locale) => (date ? formatDate(date, 'HH:mm', { locale }) : ''),
87
- datePlaceholder: 'Set a date',
88
- dateTimePlaceholder: 'Set date and time',
89
- rangePlaceholder: 'Set a period',
90
87
  minDate: null,
91
88
  maxDate: null,
92
89
  onChange() { },
93
- translations: {
94
- setDate: 'Set a date',
95
- setDateTime: 'Set date and time',
96
- setPeriod: 'Set a period'
97
- },
98
90
  applyTimeInput(date, timeString) {
99
91
  const [hours, minutes] = timeString?.split(':').map(Number) ?? [];
100
92
  return minutes != null ? set(date, { hours, minutes }) : date;
@@ -113,6 +105,7 @@ export default class DatePicker extends PureComponent {
113
105
  return null;
114
106
  }
115
107
  };
108
+ static contextType = I18nContext;
116
109
  handleChange = (change) => {
117
110
  const { onChange, withTime, applyTimeInput } = this.props;
118
111
  const adjustedChange = withTime && !(change instanceof Date) && change?.date != null
@@ -154,16 +147,19 @@ export default class DatePicker extends PureComponent {
154
147
  }
155
148
  getAnchorText = () => {
156
149
  const { range, datePlaceholder, dateTimePlaceholder, rangePlaceholder, withTime, displayFormat, displayMonthFormat, displayDayFormat, translations, locale } = this.props;
150
+ const { translate } = this.context;
157
151
  const date = this.parse(this.props.date);
158
152
  const from = this.parse(this.props.from);
159
153
  const to = this.parse(this.props.to);
160
154
  const time = this.formatTime();
161
155
  if (!range && !withTime) {
162
- return date ? displayFormat(date, locale) : (datePlaceholder ?? translations.setDate);
156
+ return date
157
+ ? displayFormat(date, locale)
158
+ : (datePlaceholder ?? translations?.setDate ?? translate('setDate'));
163
159
  }
164
160
  else if (!range && withTime) {
165
161
  if (!date && !time) {
166
- return dateTimePlaceholder ?? translations.setDateTime;
162
+ return dateTimePlaceholder ?? translations?.setDateTime ?? translate('setDateTime');
167
163
  }
168
164
  else {
169
165
  return `${date && displayFormat(date, locale) || '—'}, ${time || '—'}`;
@@ -190,7 +186,7 @@ export default class DatePicker extends PureComponent {
190
186
  return `— ${displayFormat(to, locale)}`;
191
187
  }
192
188
  else {
193
- return rangePlaceholder ?? translations.setPeriod;
189
+ return rangePlaceholder ?? translations?.setPeriod ?? translate('setPeriod');
194
190
  }
195
191
  };
196
192
  render() {
@@ -212,9 +208,7 @@ export default class DatePicker extends PureComponent {
212
208
  </Button>)} {...dropdownProps}>
213
209
  <PopupComponent className={popupClassName} popupRef={this.popupRef} onClear={clear ? this.clear : null} datePopupProps={{
214
210
  ...datePopupProps,
215
- // We want to provide translations further down to DateInput.
216
- // Yet we should pass at least DateInput default translations not to have them empty.
217
- translations: Object.assign({}, DateInput.defaultProps.translations, translations),
211
+ translations,
218
212
  onChange: this.handleChange,
219
213
  parseDateInput: this.parse,
220
214
  time: this.formatTime()
@@ -52,5 +52,5 @@ export default class DatePopup extends Component<DatePopupProps, DatePopupState>
52
52
  selectHandler: (date: Date) => void;
53
53
  handleScroll: (scrollDate: number) => void;
54
54
  onClear: (e: React.MouseEvent<HTMLButtonElement>) => void;
55
- render(): JSX.Element;
55
+ render(): React.JSX.Element;
56
56
  }
@@ -67,7 +67,7 @@ export default class DatePopup extends Component {
67
67
  }
68
68
  componentDidMount() {
69
69
  if (this.componentRef.current) {
70
- this.componentRef.current.addEventListener('wheel', this.handleWheel, { passive: true });
70
+ this.componentRef.current.addEventListener('wheel', this.handleWheel);
71
71
  }
72
72
  }
73
73
  componentDidUpdate(prevProps, prevState) {
@@ -265,6 +265,7 @@ export default class DatePopup extends Component {
265
265
  }
266
266
  this.select(changes);
267
267
  this.props.onClear?.(e);
268
+ this.componentRef.current?.querySelector('input')?.focus();
268
269
  };
269
270
  render() {
270
271
  const { range, hidden, withTime, locale } = this.props;
@@ -1,4 +1,4 @@
1
- import { Component } from 'react';
1
+ import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { MonthsProps } from './consts';
4
4
  export interface DayProps extends MonthsProps {
@@ -26,5 +26,5 @@ export default class Day extends Component<DayProps> {
26
26
  inRange: (range: [Date, Date] | null) => boolean | null;
27
27
  isDisabled: (date: Date) => boolean;
28
28
  parse(text: string | null | undefined): Date | null;
29
- render(): JSX.Element;
29
+ render(): React.JSX.Element;
30
30
  }
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { MonthsProps } from './consts';
4
- declare function MonthNames(props: MonthsProps): JSX.Element;
4
+ declare function MonthNames(props: MonthsProps): React.JSX.Element;
5
5
  declare namespace MonthNames {
6
6
  var propTypes: {
7
7
  scrollDate: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
@@ -9,7 +9,7 @@ import startOfDay from 'date-fns/startOfDay';
9
9
  import startOfYear from 'date-fns/startOfYear';
10
10
  import linearFunction from '../global/linear-function';
11
11
  import MonthSlider from './month-slider';
12
- import { HALF, YEAR, MIDDLE_DAY, yearScrollSpeed, dateType } from './consts';
12
+ import { YEAR, MIDDLE_DAY, yearScrollSpeed, dateType } from './consts';
13
13
  import styles from './date-picker.css';
14
14
  class MonthName extends PureComponent {
15
15
  static propTypes = {
@@ -19,7 +19,7 @@ class MonthName extends PureComponent {
19
19
  };
20
20
  handleClick = () => {
21
21
  const end = endOfMonth(this.props.month);
22
- this.props.onScrollChange((+this.props.month + +end) * HALF);
22
+ this.props.onScrollChange(end.getTime());
23
23
  };
24
24
  render() {
25
25
  const { month, locale } = this.props;
@@ -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 { LinearFunction } from '../global/linear-function';
4
4
  import { MonthsProps } from './consts';
@@ -24,6 +24,6 @@ export default class MonthSlider extends PureComponent<MonthSliderProps> {
24
24
  onMouseDown: () => void;
25
25
  onMouseUp: () => void;
26
26
  onMouseMove: (e: MouseEvent) => void;
27
- render(): JSX.Element;
27
+ render(): React.JSX.Element;
28
28
  }
29
29
  export {};
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { MonthsProps } from './consts';
4
4
  export interface MonthProps extends MonthsProps {
5
5
  month: Date;
6
6
  }
7
- declare function Month(props: MonthProps): JSX.Element;
7
+ declare function Month(props: MonthProps): React.JSX.Element;
8
8
  declare namespace Month {
9
9
  var propTypes: {
10
10
  month: PropTypes.Requireable<NonNullable<string | number | Date | null | undefined>>;
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { MonthsProps } from './consts';
4
- declare function Months(props: MonthsProps): JSX.Element;
4
+ declare function Months(props: MonthsProps): React.JSX.Element;
5
5
  declare namespace Months {
6
6
  var propTypes: {
7
7
  onScroll: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect, useMemo, useRef } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import addMonths from 'date-fns/addMonths';
4
4
  import getDay from 'date-fns/getDay';
@@ -8,6 +8,7 @@ import subMonths from 'date-fns/subMonths';
8
8
  import endOfMonth from 'date-fns/endOfMonth';
9
9
  import scheduleRAF from '../global/schedule-raf';
10
10
  import linearFunction from '../global/linear-function';
11
+ import useEventCallback from '../global/use-event-callback';
11
12
  import Month from './month';
12
13
  import MonthNames from './month-names';
13
14
  import styles from './date-picker.css';
@@ -37,38 +38,54 @@ export default function Months(props) {
37
38
  const { scrollDate } = props;
38
39
  const monthDate = scrollDate instanceof Date ? scrollDate : new Date(scrollDate);
39
40
  const monthStart = startOfMonth(monthDate);
40
- let month = subMonths(monthStart, MONTHSBACK);
41
- const months = [month];
42
- for (let i = 0; i < MONTHSBACK * DOUBLE; i++) {
43
- month = addMonths(month, 1);
44
- months.push(month);
45
- }
41
+ const months = useMemo(() => {
42
+ let month = subMonths(monthStart, MONTHSBACK);
43
+ const result = [month];
44
+ for (let i = 0; i < MONTHSBACK * DOUBLE; i++) {
45
+ month = addMonths(month, 1);
46
+ result.push(month);
47
+ }
48
+ return result;
49
+ }, [monthStart]);
46
50
  const currentSpeed = scrollSpeed(scrollDate);
47
51
  const pxToDate = linearFunction(0, Number(scrollDate), currentSpeed);
48
52
  const offset = pxToDate.x(Number(monthStart)); // is a negative number
49
53
  const bottomOffset = monthHeight(scrollDate) + offset;
50
- return (<div className={styles.months} onWheel={function handleWheel(e) {
51
- e.preventDefault();
52
- dy += e.deltaY;
53
- scrollSchedule(() => {
54
- let date;
55
- // adjust scroll speed to prevent glitches
56
- if (dy < offset) {
57
- date = pxToDate.y(offset) + (dy - offset) * scrollSpeed(months[1]);
58
- }
59
- else if (dy > bottomOffset) {
60
- date =
61
- pxToDate.y(bottomOffset) +
62
- (dy - bottomOffset) *
63
- scrollSpeed(months[MONTHSBACK + 1]);
64
- }
65
- else {
66
- date = pxToDate.y(dy);
67
- }
68
- props.onScroll(date);
69
- dy = 0;
70
- });
71
- }}>
54
+ const componentRef = useRef(null);
55
+ const handleWheel = useEventCallback((e) => {
56
+ e.preventDefault();
57
+ dy += e.deltaY;
58
+ scrollSchedule(() => {
59
+ let date;
60
+ // adjust scroll speed to prevent glitches
61
+ if (dy < offset) {
62
+ date = pxToDate.y(offset) + (dy - offset) * scrollSpeed(months[1]);
63
+ }
64
+ else if (dy > bottomOffset) {
65
+ date =
66
+ pxToDate.y(bottomOffset) +
67
+ (dy - bottomOffset) *
68
+ scrollSpeed(months[MONTHSBACK + 1]);
69
+ }
70
+ else {
71
+ date = pxToDate.y(dy);
72
+ }
73
+ props.onScroll(date);
74
+ dy = 0;
75
+ });
76
+ });
77
+ useEffect(() => {
78
+ const current = componentRef.current;
79
+ if (current !== null) {
80
+ current.addEventListener('wheel', handleWheel, { passive: false });
81
+ }
82
+ return () => {
83
+ if (current !== null) {
84
+ current.removeEventListener('wheel', handleWheel);
85
+ }
86
+ };
87
+ }, [handleWheel]);
88
+ return (<div className={styles.months} ref={componentRef}>
72
89
  <div style={{
73
90
  top: Math.
74
91
  floor(calHeight * HALF - monthHeight(months[0]) - monthHeight(months[1]) + offset)