@jetbrains/ring-ui 5.1.1 → 6.0.2-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 (850) hide show
  1. package/README.md +1 -6
  2. package/babel.config.js +0 -1
  3. package/components/alert/alert.d.ts +1 -1
  4. package/components/alert/container.css +3 -0
  5. package/components/alert-service/alert-service.d.ts +2 -2
  6. package/components/analytics/analytics.d.ts +21 -7
  7. package/components/analytics/analytics.js +19 -24
  8. package/components/analytics/analytics__custom-plugin.d.ts +6 -16
  9. package/components/analytics/analytics__custom-plugin.js +12 -52
  10. package/components/analytics/analytics__fus-plugin.d.ts +15 -25
  11. package/components/analytics/analytics__fus-plugin.js +15 -73
  12. package/components/analytics/analytics__ga-plugin.d.ts +13 -3
  13. package/components/analytics/analytics__ga-plugin.js +35 -5
  14. package/components/analytics/analytics__plugin-utils.d.ts +16 -0
  15. package/components/analytics/analytics__plugin-utils.js +26 -1
  16. package/components/auth/auth__core.d.ts +5 -4
  17. package/components/auth/auth__core.js +44 -27
  18. package/components/auth-dialog/auth-dialog.d.ts +2 -2
  19. package/components/auth-dialog/auth-dialog.js +3 -1
  20. package/components/auth-dialog-service/auth-dialog-service.js +4 -1
  21. package/components/avatar/avatar.d.ts +3 -3
  22. package/components/avatar/fallback-avatar.d.ts +2 -2
  23. package/components/avatar/fallback-avatar.js +2 -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-set/button-set.d.ts +2 -2
  32. package/components/button-toolbar/button-toolbar.d.ts +2 -2
  33. package/components/checkbox/checkbox.css +2 -2
  34. package/components/checkbox/checkbox.d.ts +2 -2
  35. package/components/code/code.d.ts +1 -1
  36. package/components/confirm/confirm.d.ts +1 -1
  37. package/components/confirm/confirm.js +3 -3
  38. package/components/confirm-service/confirm-service.js +2 -2
  39. package/components/content-layout/content-layout.d.ts +2 -2
  40. package/components/content-layout/sidebar.d.ts +2 -2
  41. package/components/contenteditable/contenteditable.d.ts +3 -3
  42. package/components/control-label/control-label.css +23 -0
  43. package/components/control-label/control-label.d.ts +11 -0
  44. package/components/control-label/control-label.js +22 -0
  45. package/components/data-list/data-list.css +2 -1
  46. package/components/data-list/data-list.d.ts +3 -3
  47. package/components/data-list/data-list.mock.d.ts +2 -2
  48. package/components/data-list/item.d.ts +3 -3
  49. package/components/data-list/title.d.ts +1 -1
  50. package/components/date-picker/consts.d.ts +5 -5
  51. package/components/date-picker/date-input.d.ts +3 -12
  52. package/components/date-picker/date-input.js +9 -15
  53. package/components/date-picker/date-picker.css +1 -1
  54. package/components/date-picker/date-picker.d.ts +8 -6
  55. package/components/date-picker/date-picker.js +9 -15
  56. package/components/date-picker/date-popup.d.ts +1 -1
  57. package/components/date-picker/date-popup.js +2 -1
  58. package/components/date-picker/day.d.ts +2 -2
  59. package/components/date-picker/month-names.d.ts +2 -2
  60. package/components/date-picker/month-names.js +2 -2
  61. package/components/date-picker/month-slider.d.ts +2 -2
  62. package/components/date-picker/month.d.ts +2 -2
  63. package/components/date-picker/months.d.ts +2 -2
  64. package/components/date-picker/months.js +46 -29
  65. package/components/date-picker/weekdays.d.ts +2 -2
  66. package/components/date-picker/years.d.ts +6 -2
  67. package/components/date-picker/years.js +26 -14
  68. package/components/dialog/dialog.css +1 -1
  69. package/components/dialog/dialog.d.ts +4 -16
  70. package/components/dialog/dialog.js +4 -2
  71. package/components/dropdown/anchor.d.ts +1 -1
  72. package/components/dropdown/dropdown.d.ts +8 -1
  73. package/components/editable-heading/editable-heading.css +20 -7
  74. package/components/editable-heading/editable-heading.d.ts +2 -2
  75. package/components/editable-heading/editable-heading.js +39 -12
  76. package/components/error-bubble/error-bubble.d.ts +2 -2
  77. package/components/error-message/error-message.d.ts +2 -2
  78. package/components/footer/footer.js +1 -0
  79. package/components/form/form.examples.js +2 -11
  80. package/components/global/controls-height.d.ts +2 -0
  81. package/components/global/controls-height.js +8 -0
  82. package/components/global/create-stateful-context.d.ts +1 -1
  83. package/components/global/focus-sensor-hoc.d.ts +1 -0
  84. package/components/global/focus-sensor-hoc.js +5 -4
  85. package/components/global/react-dom-renderer.d.ts +4 -4
  86. package/components/global/react-dom-renderer.js +5 -5
  87. package/components/global/react-render-adapter.js +19 -31
  88. package/components/global/use-event-callback.d.ts +1 -0
  89. package/components/global/use-event-callback.js +14 -0
  90. package/components/global/variables_dark.css +2 -2
  91. package/components/grid/col.d.ts +2 -2
  92. package/components/grid/grid.d.ts +2 -2
  93. package/components/grid/row.d.ts +2 -2
  94. package/components/group/group.d.ts +2 -2
  95. package/components/header/header.d.ts +2 -2
  96. package/components/header/logo.d.ts +2 -2
  97. package/components/header/profile.d.ts +4 -2
  98. package/components/header/profile.js +15 -11
  99. package/components/header/services-link.d.ts +2 -2
  100. package/components/header/services.d.ts +2 -2
  101. package/components/header/smart-profile.d.ts +2 -2
  102. package/components/header/smart-services.d.ts +2 -2
  103. package/components/header/tray-icon.d.ts +2 -2
  104. package/components/header/tray.d.ts +2 -2
  105. package/components/heading/heading.css +8 -8
  106. package/components/http/http.d.ts +16 -6
  107. package/components/http/http.js +26 -0
  108. package/components/hub-source/hub-source__users-groups.d.ts +1 -1
  109. package/components/i18n/README.md +46 -0
  110. package/components/i18n/i18n-context.d.ts +13 -0
  111. package/components/i18n/i18n-context.js +14 -0
  112. package/components/i18n/i18n.d.ts +59 -0
  113. package/components/i18n/i18n.js +26 -0
  114. package/components/i18n/messages.json +53 -0
  115. package/components/icon/icon.d.ts +3 -3
  116. package/components/icon/icon__svg.d.ts +1 -1
  117. package/components/input/input-legacy.css +3 -3
  118. package/components/input/input.css +8 -21
  119. package/components/input/input.d.ts +7 -1
  120. package/components/input/input.js +18 -14
  121. package/components/input-size/input-size.examples.js +4 -150
  122. package/components/island/adaptive-island-hoc.d.ts +2 -2
  123. package/components/island/content.d.ts +1 -1
  124. package/components/island/header.d.ts +2 -2
  125. package/components/island/island.css +1 -1
  126. package/components/island/island.d.ts +3 -3
  127. package/components/island-legacy/content-legacy.d.ts +2 -2
  128. package/components/island-legacy/header-legacy.d.ts +2 -2
  129. package/components/island-legacy/island-legacy.d.ts +2 -2
  130. package/components/link/clickableLink.d.ts +1 -1
  131. package/components/link/link.css +1 -1
  132. package/components/link/link.d.ts +8 -9
  133. package/components/link/link.js +0 -1
  134. package/components/list/consts.js +3 -0
  135. package/components/list/list.css +2 -2
  136. package/components/list/list.d.ts +7 -7
  137. package/components/list/list.js +4 -1
  138. package/components/list/list__custom.d.ts +1 -1
  139. package/components/list/list__hint.d.ts +2 -2
  140. package/components/list/list__item.d.ts +2 -2
  141. package/components/list/list__link.d.ts +2 -2
  142. package/components/list/list__separator.d.ts +2 -2
  143. package/components/list/list__title.d.ts +2 -2
  144. package/components/loader/loader.d.ts +2 -2
  145. package/components/loader-inline/loader-inline.d.ts +2 -2
  146. package/components/loader-screen/loader-screen.d.ts +2 -2
  147. package/components/login-dialog/login-dialog.d.ts +2 -2
  148. package/components/login-dialog/service.js +4 -1
  149. package/components/markdown/code.d.ts +2 -2
  150. package/components/markdown/heading.d.ts +2 -2
  151. package/components/markdown/link.d.ts +2 -2
  152. package/components/markdown/markdown.d.ts +2 -2
  153. package/components/message/message.d.ts +3 -7
  154. package/components/message/message.js +17 -16
  155. package/components/pager/pager.d.ts +8 -13
  156. package/components/pager/pager.js +12 -14
  157. package/components/panel/panel.css +1 -1
  158. package/components/panel/panel.d.ts +2 -2
  159. package/components/popup/popup.d.ts +2 -2
  160. package/components/popup/popup.js +1 -1
  161. package/components/popup/position.d.ts +1 -1
  162. package/components/popup/position.js +43 -33
  163. package/components/popup-menu/popup-menu.d.ts +2 -2
  164. package/components/progress-bar/progress-bar.d.ts +2 -2
  165. package/components/query-assist/query-assist.css +16 -11
  166. package/components/query-assist/query-assist.d.ts +3 -7
  167. package/components/query-assist/query-assist.js +50 -31
  168. package/components/query-assist/query-assist__suggestions.d.ts +2 -2
  169. package/components/radio/radio.css +1 -1
  170. package/components/radio/radio.d.ts +1 -1
  171. package/components/radio/radio__item.d.ts +1 -1
  172. package/components/select/select-popup.css +2 -2
  173. package/components/select/select.css +9 -5
  174. package/components/select/select.d.ts +20 -9
  175. package/components/select/select.js +47 -23
  176. package/components/select/select__filter.d.ts +2 -3
  177. package/components/select/select__filter.js +4 -2
  178. package/components/select/select__popup.d.ts +48 -8
  179. package/components/select/select__popup.js +29 -8
  180. package/components/shortcuts/shortcuts-hoc.d.ts +2 -2
  181. package/components/shortcuts/shortcuts.d.ts +1 -1
  182. package/components/tab-trap/tab-trap.d.ts +1 -1
  183. package/components/table/cell.d.ts +2 -2
  184. package/components/table/disable-hover-hoc.d.ts +2 -2
  185. package/components/table/header-cell.d.ts +2 -2
  186. package/components/table/header.d.ts +3 -14
  187. package/components/table/header.js +5 -49
  188. package/components/table/multitable.d.ts +2 -2
  189. package/components/table/row-with-focus-sensor.d.ts +1 -1
  190. package/components/table/row.d.ts +2 -1
  191. package/components/table/row.js +4 -3
  192. package/components/table/smart-table.d.ts +3 -1
  193. package/components/table/table.css +9 -26
  194. package/components/table/table.d.ts +6 -4
  195. package/components/table/table.js +5 -3
  196. package/components/tabs/collapsible-more.d.ts +3 -3
  197. package/components/tabs/collapsible-tab.d.ts +1 -1
  198. package/components/tabs/collapsible-tabs.d.ts +2 -2
  199. package/components/tabs/dumb-tabs.d.ts +5 -3
  200. package/components/tabs/dumb-tabs.js +3 -2
  201. package/components/tabs/smart-tabs.d.ts +2 -2
  202. package/components/tabs/tab-link.d.ts +1 -1
  203. package/components/tabs/tab.d.ts +2 -2
  204. package/components/tabs/tab.js +3 -3
  205. package/components/tabs/tabs.css +4 -1
  206. package/components/tag/tag.css +3 -3
  207. package/components/tag/tag.d.ts +5 -5
  208. package/components/tags-input/tags-input.css +1 -1
  209. package/components/tags-input/tags-input.d.ts +9 -4
  210. package/components/tags-input/tags-input.js +7 -7
  211. package/components/tags-list/tags-list.d.ts +2 -2
  212. package/components/text/text.css +12 -0
  213. package/components/text/text.d.ts +8 -2
  214. package/components/text/text.js +12 -2
  215. package/components/toggle/toggle.css +1 -1
  216. package/components/toggle/toggle.d.ts +2 -2
  217. package/components/tooltip/tooltip.d.ts +1 -1
  218. package/components/user-agreement/service.js +4 -1
  219. package/components/user-agreement/user-agreement.d.ts +3 -11
  220. package/components/user-agreement/user-agreement.js +31 -30
  221. package/components/user-card/card.d.ts +22 -21
  222. package/components/user-card/card.js +29 -29
  223. package/components/user-card/smart-user-card-tooltip.d.ts +3 -3
  224. package/components/user-card/tooltip.d.ts +11 -6
  225. package/components/user-card/tooltip.js +1 -1
  226. package/components/user-card/user-card.css +10 -1
  227. package/dist/_helpers/_rollupPluginBabelHelpers.js +614 -1
  228. package/dist/_helpers/anchor.js +7 -8
  229. package/dist/_helpers/badge.js +1 -1
  230. package/dist/_helpers/button__classes.js +17 -29
  231. package/dist/_helpers/caption.js +31 -0
  232. package/dist/_helpers/card.js +100 -91
  233. package/dist/_helpers/date-picker.js +1 -1
  234. package/dist/_helpers/dialog__body-scroll-preventer.js +21 -12
  235. package/dist/_helpers/grid.js +1 -1
  236. package/dist/_helpers/header.js +1 -1
  237. package/dist/_helpers/icon__svg.js +73 -0
  238. package/dist/_helpers/input.js +228 -2
  239. package/dist/_helpers/island.js +1 -1
  240. package/dist/_helpers/list.js +1 -1
  241. package/dist/_helpers/query-assist__suggestions.js +92 -75
  242. package/dist/_helpers/select__filter.js +70 -43
  243. package/dist/_helpers/services-link.js +33 -21
  244. package/dist/_helpers/sidebar.js +87 -86
  245. package/dist/_helpers/tab-link.js +36 -0
  246. package/dist/_helpers/table.js +1 -1
  247. package/dist/_helpers/theme.js +43 -36
  248. package/dist/_helpers/title.js +66 -56
  249. package/dist/alert/alert.d.ts +1 -1
  250. package/dist/alert/alert.js +165 -130
  251. package/dist/alert/container.js +40 -29
  252. package/dist/alert-service/alert-service.d.ts +2 -2
  253. package/dist/alert-service/alert-service.js +170 -106
  254. package/dist/analytics/analytics.d.ts +21 -7
  255. package/dist/analytics/analytics.js +90 -71
  256. package/dist/analytics/analytics__custom-plugin.d.ts +6 -16
  257. package/dist/analytics/analytics__custom-plugin.js +74 -87
  258. package/dist/analytics/analytics__fus-plugin.d.ts +15 -25
  259. package/dist/analytics/analytics__fus-plugin.js +31 -89
  260. package/dist/analytics/analytics__ga-plugin.d.ts +13 -3
  261. package/dist/analytics/analytics__ga-plugin.js +76 -25
  262. package/dist/analytics/analytics__plugin-utils.d.ts +16 -0
  263. package/dist/analytics/analytics__plugin-utils.js +52 -21
  264. package/dist/auth/auth.js +40 -10
  265. package/dist/auth/auth__core.d.ts +5 -4
  266. package/dist/auth/auth__core.js +1460 -722
  267. package/dist/auth/background-flow.js +125 -84
  268. package/dist/auth/down-notification.js +77 -37
  269. package/dist/auth/iframe-flow.js +130 -73
  270. package/dist/auth/landing.js +94 -36
  271. package/dist/auth/request-builder.js +79 -45
  272. package/dist/auth/response-parser.js +117 -85
  273. package/dist/auth/storage.js +323 -164
  274. package/dist/auth/token-validator.js +239 -128
  275. package/dist/auth/window-flow.js +126 -83
  276. package/dist/auth-dialog/auth-dialog.d.ts +2 -2
  277. package/dist/auth-dialog/auth-dialog.js +153 -96
  278. package/dist/auth-dialog-service/auth-dialog-service.js +37 -12
  279. package/dist/avatar/avatar-example-datauri.js +1 -23
  280. package/dist/avatar/avatar.d.ts +3 -3
  281. package/dist/avatar/avatar.js +132 -99
  282. package/dist/avatar/fallback-avatar.d.ts +2 -2
  283. package/dist/avatar/fallback-avatar.js +44 -24
  284. package/dist/badge/badge.d.ts +2 -2
  285. package/dist/badge/badge.js +34 -26
  286. package/dist/button/button.d.ts +3 -4
  287. package/dist/button/button.js +90 -71
  288. package/dist/button/button__classes.js +1 -0
  289. package/dist/button-group/button-group.d.ts +2 -2
  290. package/dist/button-group/button-group.js +33 -17
  291. package/dist/button-group/caption.d.ts +2 -2
  292. package/dist/button-group/caption.js +5 -22
  293. package/dist/button-set/button-set.d.ts +2 -2
  294. package/dist/button-set/button-set.js +31 -16
  295. package/dist/button-toolbar/button-toolbar.d.ts +2 -2
  296. package/dist/button-toolbar/button-toolbar.js +30 -15
  297. package/dist/caret/caret.js +223 -188
  298. package/dist/checkbox/checkbox.d.ts +2 -2
  299. package/dist/checkbox/checkbox.js +86 -61
  300. package/dist/clipboard/clipboard-fallback.js +10 -10
  301. package/dist/clipboard/clipboard.js +132 -38
  302. package/dist/code/code.d.ts +1 -1
  303. package/dist/code/code.js +153 -81
  304. package/dist/confirm/confirm.d.ts +1 -1
  305. package/dist/confirm/confirm.js +86 -50
  306. package/dist/confirm-service/confirm-service.js +68 -47
  307. package/dist/content-layout/content-layout.d.ts +2 -2
  308. package/dist/content-layout/content-layout.js +53 -35
  309. package/dist/content-layout/sidebar.d.ts +2 -2
  310. package/dist/content-layout/sidebar.js +1 -0
  311. package/dist/contenteditable/contenteditable.d.ts +3 -3
  312. package/dist/contenteditable/contenteditable.js +54 -43
  313. package/dist/control-label/control-label.d.ts +11 -0
  314. package/dist/control-label/control-label.js +32 -0
  315. package/dist/data-list/data-list.d.ts +3 -3
  316. package/dist/data-list/data-list.js +166 -120
  317. package/dist/data-list/data-list.mock.d.ts +2 -2
  318. package/dist/data-list/data-list.mock.js +11 -4
  319. package/dist/data-list/item.d.ts +3 -3
  320. package/dist/data-list/item.js +141 -118
  321. package/dist/data-list/selection.js +139 -77
  322. package/dist/data-list/title.d.ts +1 -1
  323. package/dist/data-list/title.js +13 -3
  324. package/dist/date-picker/consts.d.ts +5 -5
  325. package/dist/date-picker/consts.js +18 -15
  326. package/dist/date-picker/date-input.d.ts +3 -12
  327. package/dist/date-picker/date-input.js +132 -111
  328. package/dist/date-picker/date-picker.d.ts +8 -6
  329. package/dist/date-picker/date-picker.js +215 -165
  330. package/dist/date-picker/date-popup.d.ts +1 -1
  331. package/dist/date-picker/date-popup.js +341 -301
  332. package/dist/date-picker/day.d.ts +2 -2
  333. package/dist/date-picker/day.js +78 -68
  334. package/dist/date-picker/month-names.d.ts +2 -2
  335. package/dist/date-picker/month-names.js +59 -41
  336. package/dist/date-picker/month-slider.d.ts +2 -2
  337. package/dist/date-picker/month-slider.js +59 -40
  338. package/dist/date-picker/month.d.ts +2 -2
  339. package/dist/date-picker/month.js +21 -15
  340. package/dist/date-picker/months.d.ts +2 -2
  341. package/dist/date-picker/months.js +80 -56
  342. package/dist/date-picker/weekdays.d.ts +2 -2
  343. package/dist/date-picker/weekdays.js +18 -12
  344. package/dist/date-picker/years.d.ts +6 -2
  345. package/dist/date-picker/years.js +102 -66
  346. package/dist/dialog/dialog.d.ts +4 -16
  347. package/dist/dialog/dialog.js +149 -100
  348. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  349. package/dist/dropdown/anchor.d.ts +1 -1
  350. package/dist/dropdown/anchor.js +11 -3
  351. package/dist/dropdown/dropdown.d.ts +8 -1
  352. package/dist/dropdown/dropdown.js +159 -132
  353. package/dist/dropdown-menu/dropdown-menu.js +103 -77
  354. package/dist/editable-heading/editable-heading.d.ts +2 -2
  355. package/dist/editable-heading/editable-heading.js +134 -66
  356. package/dist/error-bubble/error-bubble.d.ts +2 -2
  357. package/dist/error-bubble/error-bubble.js +60 -27
  358. package/dist/error-message/error-message.d.ts +2 -2
  359. package/dist/error-message/error-message.js +55 -32
  360. package/dist/footer/footer.js +115 -8
  361. package/dist/global/compose.js +10 -1
  362. package/dist/global/composeRefs.js +12 -7
  363. package/dist/global/controls-height.d.ts +2 -0
  364. package/dist/global/controls-height.js +10 -2
  365. package/dist/global/create-stateful-context.d.ts +1 -1
  366. package/dist/global/create-stateful-context.js +19 -19
  367. package/dist/global/data-tests.js +15 -7
  368. package/dist/global/dom.js +93 -55
  369. package/dist/global/focus-sensor-hoc.d.ts +1 -0
  370. package/dist/global/focus-sensor-hoc.js +118 -102
  371. package/dist/global/fuzzy-highlight.js +41 -27
  372. package/dist/global/get-event-key.js +8 -8
  373. package/dist/global/get-uid.js +8 -4
  374. package/dist/global/inject-styles.js +15 -10
  375. package/dist/global/linear-function.js +2 -2
  376. package/dist/global/listeners.js +50 -28
  377. package/dist/global/memoize.js +13 -6
  378. package/dist/global/normalize-indent.js +51 -19
  379. package/dist/global/promise-with-timeout.js +8 -6
  380. package/dist/global/prop-types.js +5 -3
  381. package/dist/global/react-dom-renderer.d.ts +4 -4
  382. package/dist/global/react-dom-renderer.js +44 -28
  383. package/dist/global/react-render-adapter.js +21 -15
  384. package/dist/global/rerender-hoc.js +40 -19
  385. package/dist/global/schedule-raf.js +6 -5
  386. package/dist/global/sniffer.js +1 -1
  387. package/dist/global/theme.js +24 -0
  388. package/dist/global/trivial-template-tag.js +10 -3
  389. package/dist/global/typescript-utils.js +6 -2
  390. package/dist/global/url.js +27 -21
  391. package/dist/global/use-event-callback.d.ts +1 -0
  392. package/dist/global/use-event-callback.js +17 -0
  393. package/dist/grid/col.d.ts +2 -2
  394. package/dist/grid/col.js +42 -23
  395. package/dist/grid/grid.d.ts +2 -2
  396. package/dist/grid/grid.js +32 -13
  397. package/dist/grid/row.d.ts +2 -2
  398. package/dist/grid/row.js +32 -20
  399. package/dist/group/group.d.ts +2 -2
  400. package/dist/group/group.js +25 -14
  401. package/dist/header/header.d.ts +2 -2
  402. package/dist/header/header.js +76 -31
  403. package/dist/header/logo.d.ts +2 -2
  404. package/dist/header/logo.js +32 -14
  405. package/dist/header/profile.d.ts +4 -2
  406. package/dist/header/profile.js +155 -109
  407. package/dist/header/services-link.d.ts +2 -2
  408. package/dist/header/services-link.js +9 -2
  409. package/dist/header/services.d.ts +2 -2
  410. package/dist/header/services.js +105 -66
  411. package/dist/header/smart-profile.d.ts +2 -2
  412. package/dist/header/smart-profile.js +195 -104
  413. package/dist/header/smart-services.d.ts +2 -2
  414. package/dist/header/smart-services.js +112 -64
  415. package/dist/header/tray-icon.d.ts +2 -2
  416. package/dist/header/tray-icon.js +37 -22
  417. package/dist/header/tray.d.ts +2 -2
  418. package/dist/header/tray.js +30 -17
  419. package/dist/heading/heading.js +26 -27
  420. package/dist/http/http.d.ts +16 -6
  421. package/dist/http/http.js +357 -170
  422. package/dist/http/http.mock.js +105 -50
  423. package/dist/hub-source/hub-source.js +183 -77
  424. package/dist/hub-source/hub-source__user.js +45 -12
  425. package/dist/hub-source/hub-source__users-groups.d.ts +1 -1
  426. package/dist/hub-source/hub-source__users-groups.js +63 -34
  427. package/dist/i18n/i18n-context.d.ts +13 -0
  428. package/dist/i18n/i18n-context.js +28 -0
  429. package/dist/i18n/i18n.d.ts +59 -0
  430. package/dist/i18n/i18n.js +140 -0
  431. package/dist/icon/icon.d.ts +3 -3
  432. package/dist/icon/icon.js +78 -61
  433. package/dist/icon/icon__svg.d.ts +1 -1
  434. package/dist/icon/icon__svg.js +15 -71
  435. package/dist/icon/index.js +10 -2
  436. package/dist/input/input.d.ts +7 -1
  437. package/dist/input/input.js +30 -197
  438. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  439. package/dist/island/adaptive-island-hoc.js +38 -27
  440. package/dist/island/content.d.ts +1 -1
  441. package/dist/island/content.js +104 -92
  442. package/dist/island/header.d.ts +2 -2
  443. package/dist/island/header.js +60 -47
  444. package/dist/island/island.d.ts +3 -3
  445. package/dist/island/island.js +33 -21
  446. package/dist/island-legacy/content-legacy.d.ts +2 -2
  447. package/dist/island-legacy/content-legacy.js +23 -13
  448. package/dist/island-legacy/header-legacy.d.ts +2 -2
  449. package/dist/island-legacy/header-legacy.js +25 -15
  450. package/dist/island-legacy/island-legacy.d.ts +2 -2
  451. package/dist/island-legacy/island-legacy.js +23 -13
  452. package/dist/link/clickableLink.d.ts +1 -1
  453. package/dist/link/clickableLink.js +43 -29
  454. package/dist/link/link.d.ts +8 -9
  455. package/dist/link/link.js +74 -63
  456. package/dist/list/consts.js +4 -1
  457. package/dist/list/list.d.ts +7 -7
  458. package/dist/list/list.js +500 -406
  459. package/dist/list/list__custom.d.ts +1 -1
  460. package/dist/list/list__custom.js +60 -47
  461. package/dist/list/list__hint.d.ts +2 -2
  462. package/dist/list/list__hint.js +18 -8
  463. package/dist/list/list__item.d.ts +2 -2
  464. package/dist/list/list__item.js +168 -135
  465. package/dist/list/list__link.d.ts +2 -2
  466. package/dist/list/list__link.js +54 -39
  467. package/dist/list/list__separator.d.ts +2 -2
  468. package/dist/list/list__separator.js +24 -14
  469. package/dist/list/list__title.d.ts +2 -2
  470. package/dist/list/list__title.js +32 -22
  471. package/dist/list/list__users-groups-source.js +131 -58
  472. package/dist/loader/loader.d.ts +2 -2
  473. package/dist/loader/loader.js +66 -34
  474. package/dist/loader/loader__core.js +197 -129
  475. package/dist/loader-inline/loader-inline.d.ts +2 -2
  476. package/dist/loader-inline/loader-inline.js +34 -19
  477. package/dist/loader-screen/loader-screen.d.ts +2 -2
  478. package/dist/loader-screen/loader-screen.js +45 -21
  479. package/dist/login-dialog/login-dialog.d.ts +2 -2
  480. package/dist/login-dialog/login-dialog.js +126 -81
  481. package/dist/login-dialog/service.js +40 -13
  482. package/dist/markdown/code.d.ts +2 -2
  483. package/dist/markdown/code.js +30 -9
  484. package/dist/markdown/heading.d.ts +2 -2
  485. package/dist/markdown/heading.js +3 -5
  486. package/dist/markdown/link.d.ts +2 -2
  487. package/dist/markdown/link.js +13 -8
  488. package/dist/markdown/markdown.d.ts +2 -2
  489. package/dist/markdown/markdown.js +67 -36
  490. package/dist/message/message.d.ts +3 -7
  491. package/dist/message/message.js +154 -121
  492. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  493. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  494. package/dist/old-browsers-message/white-list.js +17 -10
  495. package/dist/pager/pager.d.ts +8 -13
  496. package/dist/pager/pager.js +260 -197
  497. package/dist/panel/panel.d.ts +2 -2
  498. package/dist/panel/panel.js +25 -14
  499. package/dist/permissions/permissions.js +166 -122
  500. package/dist/permissions/permissions__cache.js +220 -191
  501. package/dist/popup/popup.consts.js +1 -1
  502. package/dist/popup/popup.d.ts +2 -2
  503. package/dist/popup/popup.js +299 -236
  504. package/dist/popup/popup.target.js +8 -9
  505. package/dist/popup/position.d.ts +1 -1
  506. package/dist/popup/position.js +175 -154
  507. package/dist/popup-menu/popup-menu.d.ts +2 -2
  508. package/dist/popup-menu/popup-menu.js +81 -46
  509. package/dist/progress-bar/progress-bar.d.ts +2 -2
  510. package/dist/progress-bar/progress-bar.js +66 -52
  511. package/dist/query-assist/query-assist.d.ts +3 -7
  512. package/dist/query-assist/query-assist.js +679 -575
  513. package/dist/query-assist/query-assist__suggestions.d.ts +2 -2
  514. package/dist/query-assist/query-assist__suggestions.js +34 -6
  515. package/dist/radio/radio.d.ts +1 -1
  516. package/dist/radio/radio.js +28 -15
  517. package/dist/radio/radio__item.d.ts +1 -1
  518. package/dist/radio/radio__item.js +62 -45
  519. package/dist/select/select.d.ts +20 -9
  520. package/dist/select/select.js +832 -706
  521. package/dist/select/select__filter.d.ts +2 -3
  522. package/dist/select/select__filter.js +38 -8
  523. package/dist/select/select__popup.d.ts +48 -8
  524. package/dist/select/select__popup.js +430 -299
  525. package/dist/shortcuts/core.js +197 -146
  526. package/dist/shortcuts/shortcut-title.js +11 -6
  527. package/dist/shortcuts/shortcuts-hoc.d.ts +2 -2
  528. package/dist/shortcuts/shortcuts-hoc.js +43 -19
  529. package/dist/shortcuts/shortcuts.d.ts +1 -1
  530. package/dist/shortcuts/shortcuts.js +69 -43
  531. package/dist/storage/storage.js +35 -7
  532. package/dist/storage/storage__fallback.js +217 -143
  533. package/dist/storage/storage__local.js +156 -93
  534. package/dist/style.css +1 -1
  535. package/dist/tab-trap/tab-trap.d.ts +1 -1
  536. package/dist/tab-trap/tab-trap.js +117 -84
  537. package/dist/table/cell.d.ts +2 -2
  538. package/dist/table/cell.js +23 -9
  539. package/dist/table/disable-hover-hoc.d.ts +2 -2
  540. package/dist/table/disable-hover-hoc.js +44 -26
  541. package/dist/table/header-cell.d.ts +2 -2
  542. package/dist/table/header-cell.js +75 -56
  543. package/dist/table/header.d.ts +3 -14
  544. package/dist/table/header.js +103 -134
  545. package/dist/table/multitable.d.ts +2 -2
  546. package/dist/table/multitable.js +102 -86
  547. package/dist/table/row-with-focus-sensor.d.ts +1 -1
  548. package/dist/table/row-with-focus-sensor.js +70 -27
  549. package/dist/table/row.d.ts +2 -1
  550. package/dist/table/row.js +192 -158
  551. package/dist/table/selection-adapter.js +3 -1
  552. package/dist/table/selection-shortcuts-hoc.js +132 -131
  553. package/dist/table/selection.js +220 -150
  554. package/dist/table/smart-table.d.ts +3 -1
  555. package/dist/table/smart-table.js +88 -53
  556. package/dist/table/table.d.ts +6 -4
  557. package/dist/table/table.js +312 -250
  558. package/dist/tabs/collapsible-more.d.ts +3 -3
  559. package/dist/tabs/collapsible-more.js +91 -59
  560. package/dist/tabs/collapsible-tab.d.ts +1 -1
  561. package/dist/tabs/collapsible-tab.js +46 -42
  562. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  563. package/dist/tabs/collapsible-tabs.js +167 -105
  564. package/dist/tabs/custom-item.js +2 -4
  565. package/dist/tabs/dumb-tabs.d.ts +5 -3
  566. package/dist/tabs/dumb-tabs.js +103 -62
  567. package/dist/tabs/smart-tabs.d.ts +2 -2
  568. package/dist/tabs/smart-tabs.js +72 -31
  569. package/dist/tabs/tab-link.d.ts +1 -1
  570. package/dist/tabs/tab-link.js +13 -35
  571. package/dist/tabs/tab.d.ts +2 -2
  572. package/dist/tabs/tab.js +26 -15
  573. package/dist/tabs/tabs.js +37 -7
  574. package/dist/tag/tag.d.ts +5 -5
  575. package/dist/tag/tag.js +147 -115
  576. package/dist/tags-input/tags-input.d.ts +9 -4
  577. package/dist/tags-input/tags-input.js +328 -227
  578. package/dist/tags-list/tags-list.d.ts +2 -2
  579. package/dist/tags-list/tags-list.js +62 -40
  580. package/dist/text/text.d.ts +8 -2
  581. package/dist/text/text.js +38 -17
  582. package/dist/toggle/toggle.d.ts +2 -2
  583. package/dist/toggle/toggle.js +55 -39
  584. package/dist/tooltip/tooltip.d.ts +1 -1
  585. package/dist/tooltip/tooltip.js +145 -102
  586. package/dist/user-agreement/service.js +411 -264
  587. package/dist/user-agreement/toolbox.eula.js +1 -160
  588. package/dist/user-agreement/user-agreement.d.ts +3 -11
  589. package/dist/user-agreement/user-agreement.js +107 -72
  590. package/dist/user-card/card.d.ts +22 -21
  591. package/dist/user-card/card.js +35 -5
  592. package/dist/user-card/smart-user-card-tooltip.d.ts +3 -3
  593. package/dist/user-card/smart-user-card-tooltip.js +138 -78
  594. package/dist/user-card/tooltip.d.ts +11 -6
  595. package/dist/user-card/tooltip.js +76 -36
  596. package/dist/user-card/user-card.js +35 -5
  597. package/package.json +86 -86
  598. package/components/auth-ng/auth-ng.examples.js +0 -41
  599. package/components/auth-ng/auth-ng.js +0 -143
  600. package/components/auth-ng/auth-ng.mock.js +0 -28
  601. package/components/autofocus-ng/autofocus-ng.examples.js +0 -41
  602. package/components/autofocus-ng/autofocus-ng.js +0 -51
  603. package/components/autofocus-ng/autofocus-ng.test.js +0 -49
  604. package/components/avatar-editor-ng/avatar-editor-ng.css +0 -104
  605. package/components/avatar-editor-ng/avatar-editor-ng.examples.js +0 -41
  606. package/components/avatar-editor-ng/avatar-editor-ng.js +0 -133
  607. package/components/avatar-editor-ng/avatar-editor-ng__template.js +0 -28
  608. package/components/avatar-ng/avatar-ng.examples.js +0 -33
  609. package/components/avatar-ng/avatar-ng.js +0 -7
  610. package/components/badge-ng/badge-ng.examples.js +0 -32
  611. package/components/badge-ng/badge-ng.js +0 -8
  612. package/components/breadcrumb-ng/breadcrumb-ng.examples.js +0 -33
  613. package/components/breadcrumb-ng/breadcrumb-ng.js +0 -60
  614. package/components/breadcrumb-ng/breadcrumb.css +0 -70
  615. package/components/button-group-ng/button-group-ng.css +0 -4
  616. package/components/button-group-ng/button-group-ng.examples.js +0 -30
  617. package/components/button-group-ng/button-group-ng.js +0 -43
  618. package/components/button-ng/button-ng.css +0 -23
  619. package/components/button-ng/button-ng.examples.js +0 -114
  620. package/components/button-ng/button-ng.js +0 -192
  621. package/components/button-ng/button-ng.test.js +0 -95
  622. package/components/button-set-ng/button-set-ng.examples.js +0 -30
  623. package/components/button-set-ng/button-set-ng.js +0 -22
  624. package/components/button-toolbar-ng/button-toolbar-ng.examples.js +0 -35
  625. package/components/button-toolbar-ng/button-toolbar-ng.js +0 -23
  626. package/components/checkbox-ng/checkbox-ng.examples.js +0 -80
  627. package/components/checkbox-ng/checkbox-ng.js +0 -64
  628. package/components/checkbox-ng/checkbox-ng.test.js +0 -61
  629. package/components/compiler-ng/compiler-ng.examples.js +0 -32
  630. package/components/compiler-ng/compiler-ng.js +0 -63
  631. package/components/compiler-ng/compiler-ng.test.js +0 -207
  632. package/components/confirm-ng/confirm-ng.examples.js +0 -43
  633. package/components/confirm-ng/confirm-ng.js +0 -30
  634. package/components/data-list-ng/data-list-ng.examples.js +0 -54
  635. package/components/data-list-ng/data-list-ng.js +0 -7
  636. package/components/dialog-ng/dialog-ng.css +0 -98
  637. package/components/dialog-ng/dialog-ng.examples.js +0 -240
  638. package/components/dialog-ng/dialog-ng.js +0 -607
  639. package/components/dialog-ng/dialog-ng.test.js +0 -829
  640. package/components/dialog-ng/dialog-ng__template.js +0 -70
  641. package/components/docked-panel-ng/docked-panel-ng.css +0 -28
  642. package/components/docked-panel-ng/docked-panel-ng.examples.js +0 -39
  643. package/components/docked-panel-ng/docked-panel-ng.js +0 -169
  644. package/components/error-message-ng/error-message-ng.examples.js +0 -33
  645. package/components/error-message-ng/error-message-ng.js +0 -50
  646. package/components/error-page-ng/error-page-ng.css +0 -6
  647. package/components/error-page-ng/error-page-ng.examples.js +0 -31
  648. package/components/error-page-ng/error-page-ng.js +0 -269
  649. package/components/error-page-ng/error-page-ng.test.js +0 -138
  650. package/components/footer-ng/footer-ng.examples.js +0 -35
  651. package/components/footer-ng/footer-ng.js +0 -61
  652. package/components/footer-ng/footer-ng.test.js +0 -41
  653. package/components/form-ng/error-bubble-ng.css +0 -7
  654. package/components/form-ng/form-ng.examples.js +0 -73
  655. package/components/form-ng/form-ng.js +0 -176
  656. package/components/global/angular-component-factory.js +0 -87
  657. package/components/global/angular-component-factory.test.js +0 -118
  658. package/components/global/ring-angular-component.js +0 -15
  659. package/components/global/ring-angular-component.test.js +0 -31
  660. package/components/group-ng/group-ng.js +0 -16
  661. package/components/group-ng/group.examples.js +0 -29
  662. package/components/heading-ng/heading-ng.examples.js +0 -29
  663. package/components/heading-ng/heading-ng.js +0 -8
  664. package/components/icon-ng/icon-ng.examples.js +0 -34
  665. package/components/icon-ng/icon-ng.js +0 -89
  666. package/components/input/input-label.d.ts +0 -10
  667. package/components/input/input-label.js +0 -18
  668. package/components/input-ng/input-ng.css +0 -7
  669. package/components/input-ng/input-ng.examples.js +0 -125
  670. package/components/input-ng/input-ng.js +0 -159
  671. package/components/input-ng/input-ng.test.js +0 -32
  672. package/components/island-ng/island-content-ng.js +0 -56
  673. package/components/island-ng/island-header-ng.js +0 -34
  674. package/components/island-ng/island-ng-class-fixer.js +0 -7
  675. package/components/island-ng/island-ng.examples.js +0 -54
  676. package/components/island-ng/island-ng.js +0 -35
  677. package/components/link-ng/link-ng.examples.js +0 -22
  678. package/components/link-ng/link-ng.js +0 -26
  679. package/components/link-ng/link-ng.test.js +0 -29
  680. package/components/loader-inline-ng/loader-inline-ng.examples.js +0 -28
  681. package/components/loader-inline-ng/loader-inline-ng.js +0 -17
  682. package/components/loader-inline-ng/loader-inline-ng.test.js +0 -28
  683. package/components/loader-ng/loader-ng.examples.js +0 -27
  684. package/components/loader-ng/loader-ng.js +0 -37
  685. package/components/loader-ng/loader-ng.test.js +0 -41
  686. package/components/loader-screen-ng/loader-screen-ng.examples.js +0 -30
  687. package/components/loader-screen-ng/loader-screen-ng.js +0 -95
  688. package/components/message-bundle-ng/message-bundle-ng.js +0 -67
  689. package/components/pager-ng/pager-ng.examples.js +0 -37
  690. package/components/pager-ng/pager-ng.js +0 -7
  691. package/components/palette/palette.examples.js +0 -63
  692. package/components/panel-ng/panel-ng.js +0 -20
  693. package/components/permissions-ng/permissions-ng.css +0 -5
  694. package/components/permissions-ng/permissions-ng.examples.js +0 -49
  695. package/components/permissions-ng/permissions-ng.js +0 -246
  696. package/components/permissions-ng/permissions-ng.test.js +0 -82
  697. package/components/place-under-ng/place-under-ng.examples.js +0 -94
  698. package/components/place-under-ng/place-under-ng.js +0 -190
  699. package/components/place-under-ng/place-under-ng.test.js +0 -182
  700. package/components/progress-bar-ng/progress-bar-ng.examples.js +0 -52
  701. package/components/progress-bar-ng/progress-bar-ng.js +0 -7
  702. package/components/promised-click-ng/promised-click-ng.examples.js +0 -42
  703. package/components/promised-click-ng/promised-click-ng.js +0 -118
  704. package/components/promised-click-ng/promised-click-ng.test.js +0 -166
  705. package/components/proxy-attrs/proxy-attrs.js +0 -24
  706. package/components/proxy-attrs/proxy-attrs.test.js +0 -102
  707. package/components/query-assist-ng/query-assist-ng.examples.js +0 -89
  708. package/components/query-assist-ng/query-assist-ng.js +0 -7
  709. package/components/radio-ng/radio-ng.examples.js +0 -31
  710. package/components/radio-ng/radio-ng.js +0 -61
  711. package/components/radio-ng/radio-ng.test.js +0 -55
  712. package/components/save-field-ng/save-field-ng.css +0 -13
  713. package/components/save-field-ng/save-field-ng.examples.js +0 -221
  714. package/components/save-field-ng/save-field-ng.js +0 -358
  715. package/components/save-field-ng/save-field-ng__template.js +0 -32
  716. package/components/select-ng/select-ng.examples.js +0 -483
  717. package/components/select-ng/select-ng.js +0 -561
  718. package/components/select-ng/select-ng.test.js +0 -620
  719. package/components/select-ng/select-ng__lazy.js +0 -83
  720. package/components/select-ng/select-ng__lazy.test.js +0 -81
  721. package/components/select-ng/select-ng__options.js +0 -147
  722. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +0 -116
  723. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +0 -126
  724. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -102
  725. package/components/shortcuts-hint-ng/shortcuts-hint-ng.test.js +0 -113
  726. package/components/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -48
  727. package/components/shortcuts-ng/shortcuts-ng.js +0 -285
  728. package/components/sidebar-ng/sidebar-ng.examples.js +0 -94
  729. package/components/sidebar-ng/sidebar-ng.js +0 -100
  730. package/components/sidebar-ng/sidebar-ng.test.js +0 -37
  731. package/components/sidebar-ng/sidebar-ng__button-template.js +0 -18
  732. package/components/sidebar-ng/sidebar-ng__template.js +0 -10
  733. package/components/table-legacy-ng/table-legacy-ng.examples.js +0 -192
  734. package/components/table-legacy-ng/table-legacy-ng.js +0 -433
  735. package/components/table-legacy-ng/table-legacy-ng.test.js +0 -296
  736. package/components/table-legacy-ng/table-legacy-ng__pager.js +0 -32
  737. package/components/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -105
  738. package/components/table-legacy-ng/table-legacy-ng__selection.js +0 -165
  739. package/components/table-legacy-ng/table-legacy-ng__toolbar.js +0 -58
  740. package/components/table-ng/smart-table-ng.js +0 -7
  741. package/components/table-ng/table-ng.examples.js +0 -84
  742. package/components/table-ng/table-ng.js +0 -7
  743. package/components/tabs-ng/tabs-ng.examples.js +0 -30
  744. package/components/tabs-ng/tabs-ng.js +0 -206
  745. package/components/tabs-ng/tabs-ng.test.js +0 -76
  746. package/components/tabs-ng/tabs-ng__template.js +0 -38
  747. package/components/tags-input-ng/tags-input-ng.examples.js +0 -41
  748. package/components/tags-input-ng/tags-input-ng.js +0 -7
  749. package/components/template-ng/template-ng.examples.js +0 -32
  750. package/components/template-ng/template-ng.js +0 -58
  751. package/components/template-ng/template-ng.test.js +0 -97
  752. package/components/title-ng/title-ng.examples.js +0 -30
  753. package/components/title-ng/title-ng.js +0 -120
  754. package/components/title-ng/title-ng.test.js +0 -47
  755. package/components/toggle-ng/toggle-ng.examples.js +0 -22
  756. package/components/toggle-ng/toggle-ng.js +0 -8
  757. package/components/tooltip-ng/tooltip-ng.css +0 -25
  758. package/components/tooltip-ng/tooltip-ng.examples.js +0 -36
  759. package/components/tooltip-ng/tooltip-ng.js +0 -100
  760. package/components/tooltip-ng/tooltip-ng.test.js +0 -69
  761. package/components/user-card-ng/user-card-ng.examples.js +0 -66
  762. package/components/user-card-ng/user-card-ng.js +0 -16
  763. package/dist/_helpers/button-group.js +0 -3
  764. package/dist/_helpers/button-set.js +0 -3
  765. package/dist/_helpers/button-toolbar.js +0 -3
  766. package/dist/_helpers/checkbox.js +0 -3
  767. package/dist/_helpers/error-message.js +0 -3
  768. package/dist/_helpers/footer.js +0 -110
  769. package/dist/_helpers/group.js +0 -3
  770. package/dist/_helpers/icon.js +0 -3
  771. package/dist/_helpers/link.js +0 -3
  772. package/dist/_helpers/loader-inline.js +0 -3
  773. package/dist/_helpers/loader-screen.js +0 -3
  774. package/dist/_helpers/panel.js +0 -3
  775. package/dist/_helpers/radio.js +0 -3
  776. package/dist/_helpers/tabs.js +0 -3
  777. package/dist/auth-ng/auth-ng.js +0 -198
  778. package/dist/auth-ng/auth-ng.mock.js +0 -29
  779. package/dist/autofocus-ng/autofocus-ng.js +0 -45
  780. package/dist/avatar-editor-ng/avatar-editor-ng.js +0 -161
  781. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +0 -30
  782. package/dist/avatar-ng/avatar-ng.js +0 -19
  783. package/dist/badge-ng/badge-ng.js +0 -17
  784. package/dist/breadcrumb-ng/breadcrumb-ng.js +0 -61
  785. package/dist/button-group-ng/button-group-ng.js +0 -39
  786. package/dist/button-ng/button-ng.js +0 -180
  787. package/dist/button-set-ng/button-set-ng.js +0 -17
  788. package/dist/button-toolbar-ng/button-toolbar-ng.js +0 -21
  789. package/dist/checkbox-ng/checkbox-ng.js +0 -63
  790. package/dist/compiler-ng/compiler-ng.js +0 -48
  791. package/dist/confirm-ng/confirm-ng.js +0 -67
  792. package/dist/data-list-ng/data-list-ng.js +0 -57
  793. package/dist/dialog-ng/dialog-ng.js +0 -512
  794. package/dist/dialog-ng/dialog-ng__template.js +0 -72
  795. package/dist/docked-panel-ng/docked-panel-ng.js +0 -147
  796. package/dist/error-message-ng/error-message-ng.js +0 -53
  797. package/dist/footer-ng/footer-ng.js +0 -62
  798. package/dist/form-ng/form-ng.js +0 -148
  799. package/dist/global/angular-component-factory.js +0 -73
  800. package/dist/global/ring-angular-component.js +0 -19
  801. package/dist/group-ng/group-ng.js +0 -11
  802. package/dist/heading-ng/heading-ng.js +0 -16
  803. package/dist/icon-ng/icon-ng.js +0 -84
  804. package/dist/input/input-label.d.ts +0 -10
  805. package/dist/input/input-label.js +0 -27
  806. package/dist/input-ng/input-ng.js +0 -146
  807. package/dist/island-ng/island-content-ng.js +0 -53
  808. package/dist/island-ng/island-header-ng.js +0 -32
  809. package/dist/island-ng/island-ng-class-fixer.js +0 -9
  810. package/dist/island-ng/island-ng.js +0 -31
  811. package/dist/link-ng/link-ng.js +0 -23
  812. package/dist/loader-inline-ng/loader-inline-ng.js +0 -14
  813. package/dist/loader-ng/loader-ng.js +0 -36
  814. package/dist/loader-screen-ng/loader-screen-ng.js +0 -87
  815. package/dist/message-bundle-ng/message-bundle-ng.js +0 -68
  816. package/dist/pager-ng/pager-ng.js +0 -97
  817. package/dist/panel-ng/panel-ng.js +0 -16
  818. package/dist/permissions-ng/permissions-ng.js +0 -277
  819. package/dist/place-under-ng/place-under-ng.js +0 -138
  820. package/dist/progress-bar-ng/progress-bar-ng.js +0 -15
  821. package/dist/promised-click-ng/promised-click-ng.js +0 -107
  822. package/dist/proxy-attrs/proxy-attrs.js +0 -19
  823. package/dist/query-assist-ng/query-assist-ng.js +0 -83
  824. package/dist/radio-ng/radio-ng.js +0 -59
  825. package/dist/save-field-ng/save-field-ng.js +0 -291
  826. package/dist/save-field-ng/save-field-ng__template.js +0 -34
  827. package/dist/select-ng/select-ng.js +0 -577
  828. package/dist/select-ng/select-ng__lazy.js +0 -153
  829. package/dist/select-ng/select-ng__options.js +0 -119
  830. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -107
  831. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -50
  832. package/dist/shortcuts-ng/shortcuts-ng.js +0 -231
  833. package/dist/sidebar-ng/sidebar-ng.js +0 -101
  834. package/dist/sidebar-ng/sidebar-ng__button-template.js +0 -20
  835. package/dist/sidebar-ng/sidebar-ng__template.js +0 -12
  836. package/dist/table-legacy-ng/table-legacy-ng.js +0 -472
  837. package/dist/table-legacy-ng/table-legacy-ng__pager.js +0 -123
  838. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -92
  839. package/dist/table-legacy-ng/table-legacy-ng__selection.js +0 -147
  840. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +0 -53
  841. package/dist/table-ng/smart-table-ng.js +0 -67
  842. package/dist/table-ng/table-ng.js +0 -66
  843. package/dist/tabs-ng/tabs-ng.js +0 -172
  844. package/dist/tabs-ng/tabs-ng__template.js +0 -40
  845. package/dist/tags-input-ng/tags-input-ng.js +0 -90
  846. package/dist/template-ng/template-ng.js +0 -58
  847. package/dist/title-ng/title-ng.js +0 -103
  848. package/dist/toggle-ng/toggle-ng.js +0 -16
  849. package/dist/tooltip-ng/tooltip-ng.js +0 -96
  850. package/dist/user-card-ng/user-card-ng.js +0 -67
@@ -9,7 +9,7 @@ import Avatar, { Size as AvatarSize } from '../avatar/avatar';
9
9
  import Popup from '../popup/popup';
10
10
  import List, { ActiveItemContext } from '../list/list';
11
11
  import Input, { Size } from '../input/input';
12
- import InputLabel from '../input/input-label';
12
+ import ControlLabel from '../control-label/control-label';
13
13
  import Shortcuts from '../shortcuts/shortcuts';
14
14
  import Button from '../button/button';
15
15
  import dataTests from '../global/data-tests';
@@ -17,6 +17,9 @@ import getUID from '../global/get-uid';
17
17
  import rerenderHOC from '../global/rerender-hoc';
18
18
  import fuzzyHighlight from '../global/fuzzy-highlight';
19
19
  import memoize from '../global/memoize';
20
+ import { I18nContext } from '../i18n/i18n-context';
21
+ import composeRefs from '../global/composeRefs';
22
+ import { refObject } from '../global/prop-types';
20
23
  import { isArray } from '../global/typescript-utils';
21
24
  import { ControlsHeight, ControlsHeightContext } from '../global/controls-height';
22
25
  import inputStyles from '../input/input.css';
@@ -29,7 +32,7 @@ function noop() { }
29
32
  /**
30
33
  * @enum {number}
31
34
  */
32
- var Type;
35
+ export var Type;
33
36
  (function (Type) {
34
37
  Type["BUTTON"] = "BUTTON";
35
38
  Type["INPUT"] = "INPUT";
@@ -179,18 +182,19 @@ export default class Select extends Component {
179
182
  static defaultProps = {
180
183
  data: [],
181
184
  filter: false,
185
+ filterIcon: null,
186
+ filterRef: noop,
182
187
  multiple: false,
183
188
  clear: false,
184
189
  loading: false,
185
190
  disabled: false,
186
- loadingMessage: 'Loading...',
187
- notFoundMessage: 'No options found',
188
191
  type: Type.BUTTON,
189
192
  size: Size.M,
190
193
  targetElement: null,
191
194
  hideSelected: false,
192
195
  allowAny: false,
193
196
  hideArrow: false,
197
+ showPopup: false,
194
198
  maxHeight: 600,
195
199
  directions: [
196
200
  Popup.PopupProps.Directions.BOTTOM_RIGHT,
@@ -214,6 +218,7 @@ export default class Select extends Component {
214
218
  onKeyDown: noop,
215
219
  onSelect: noop,
216
220
  onDeselect: noop,
221
+ onOutsideClick: noop,
217
222
  onChange: noop,
218
223
  onAdd: noop,
219
224
  onDone: noop,
@@ -236,7 +241,7 @@ export default class Select extends Component {
236
241
  if (prevState.selected) {
237
242
  Object.assign(nextState, {
238
243
  selectedIndex: getSelectedIndex(prevState.selected, data),
239
- prevFilterValue: getValueForFilter(prevState.selected, type, filterValue)
244
+ filterValue: getValueForFilter(prevState.selected, type, filterValue)
240
245
  });
241
246
  }
242
247
  }
@@ -245,7 +250,7 @@ export default class Select extends Component {
245
250
  const selectedIndex = getSelectedIndex(selected, data || prevData);
246
251
  Object.assign(nextState, {
247
252
  selected,
248
- prevFilterValue: getValueForFilter(selected, type, filterValue)
253
+ filterValue: getValueForFilter(selected, type, filterValue)
249
254
  });
250
255
  if (!Array.isArray(prevSelected) || !Array.isArray(selected) ||
251
256
  !isSameSelected(prevSelected, selected)) {
@@ -275,7 +280,7 @@ export default class Select extends Component {
275
280
  this.props.filter.value || '',
276
281
  shortcutsEnabled: false,
277
282
  popupShortcuts: false,
278
- showPopup: false,
283
+ showPopup: this.props.showPopup,
279
284
  prevData: this.props.data,
280
285
  prevSelected: null,
281
286
  prevMultiple: this.props.multiple,
@@ -423,15 +428,19 @@ export default class Select extends Component {
423
428
  const anchorElement = this.props.targetElement || this.node;
424
429
  const { showPopup, shownData } = this.state;
425
430
  const _shownData = this._prependResetOption(shownData);
426
- let message;
427
- if (this.props.loading) {
428
- message = this.props.loadingMessage;
429
- }
430
- else if (!shownData.length) {
431
- message = this.props.notFoundMessage;
432
- }
433
- return (<SelectPopup data={_shownData} message={message} toolbar={showPopup && this.getToolbar()} loading={this.props.loading} activeIndex={this.state.selectedIndex} hidden={!showPopup} ref={this.popupRef} maxHeight={this.props.maxHeight} minWidth={this.props.minWidth} directions={this.props.directions} className={this.props.popupClassName} style={this.props.popupStyle} top={this.props.top} left={this.props.left} filter={this.isInputMode() ? false : this.props.filter} // disable popup filter in INPUT mode
434
- multiple={this.props.multiple} filterValue={this.state.filterValue} anchorElement={anchorElement} onCloseAttempt={this._onCloseAttempt} onSelect={this._listSelectHandler} onSelectAll={this._listSelectAllHandler} onFilter={this._filterChangeHandler} onClear={this.clearFilter} onLoadMore={this.props.onLoadMore} isInputMode={this.isInputMode()} selected={this.state.selected} tags={this.props.tags} compact={this.props.compact} renderOptimization={this.props.renderOptimization} ringPopupTarget={this.props.ringPopupTarget} disableMoveOverflow={this.props.disableMoveOverflow} disableScrollToActive={this.props.disableScrollToActive} dir={this.props.dir} onEmptyPopupEnter={this.onEmptyPopupEnter} listId={this.listId}/>);
431
+ return (<I18nContext.Consumer>
432
+ {({ translate }) => {
433
+ let message;
434
+ if (this.props.loading) {
435
+ message = this.props.loadingMessage ?? translate('loading');
436
+ }
437
+ else if (!shownData.length) {
438
+ message = this.props.notFoundMessage ?? translate('noOptionsFound');
439
+ }
440
+ return (<SelectPopup data={_shownData} message={message} toolbar={showPopup && this.getToolbar()} topbar={this.getTopbar()} loading={this.props.loading} activeIndex={this.state.selectedIndex} hidden={!showPopup} ref={this.popupRef} maxHeight={this.props.maxHeight} minWidth={this.props.minWidth} directions={this.props.directions} className={this.props.popupClassName} style={this.props.popupStyle} top={this.props.top} left={this.props.left} filter={this.isInputMode() ? false : this.props.filter} // disable popup filter in INPUT mode
441
+ filterIcon={this.props.filterIcon} filterRef={this.props.filterRef} multiple={this.props.multiple} filterValue={this.state.filterValue} anchorElement={anchorElement} onCloseAttempt={this._onCloseAttempt} onOutsideClick={this.props.onOutsideClick} onSelect={this._listSelectHandler} onSelectAll={this._listSelectAllHandler} onFilter={this._filterChangeHandler} onClear={this.clearFilter} onLoadMore={this.props.onLoadMore} isInputMode={this.isInputMode()} selected={this.state.selected} tags={this.props.tags} compact={this.props.compact} renderOptimization={this.props.renderOptimization} ringPopupTarget={this.props.ringPopupTarget} disableMoveOverflow={this.props.disableMoveOverflow} disableScrollToActive={this.props.disableScrollToActive} dir={this.props.dir} onEmptyPopupEnter={this.onEmptyPopupEnter} listId={this.listId}/>);
442
+ }}
443
+ </I18nContext.Consumer>);
435
444
  }
436
445
  _showPopup() {
437
446
  if (!this.node) {
@@ -439,7 +448,7 @@ export default class Select extends Component {
439
448
  }
440
449
  const shownData = this.getListItems(this.filterValue());
441
450
  this.setState({
442
- showPopup: !!shownData.length || !this.props.allowAny,
451
+ showPopup: true,
443
452
  shownData
444
453
  });
445
454
  }
@@ -481,6 +490,9 @@ export default class Select extends Component {
481
490
  {hint && (<List.ListHint label={hint} data-test="ring-select-toolbar-hint"/>)}
482
491
  </div>);
483
492
  }
493
+ getTopbar() {
494
+ return this.props.renderTopToolbar?.();
495
+ }
484
496
  getLowerCaseLabel = getLowerCaseLabel;
485
497
  doesLabelMatch = doesLabelMatch;
486
498
  getFilterFn() {
@@ -576,8 +588,11 @@ export default class Select extends Component {
576
588
  selected.isResetItem) {
577
589
  return;
578
590
  }
591
+ const tryKeepOpen = this.props.tryKeepOpen ?? opts.tryKeepOpen;
579
592
  if (!this.props.multiple) {
580
- this._hidePopup(isSelectItemEvent);
593
+ if (!tryKeepOpen) {
594
+ this._hidePopup(isSelectItemEvent);
595
+ }
581
596
  this.setState({
582
597
  selected,
583
598
  selectedIndex: this._getSelectedIndex(selected, this.props.data)
@@ -592,7 +607,6 @@ export default class Select extends Component {
592
607
  });
593
608
  }
594
609
  else {
595
- const { tryKeepOpen } = opts;
596
610
  if (!tryKeepOpen) {
597
611
  this._hidePopup(isSelectItemEvent);
598
612
  }
@@ -612,6 +626,7 @@ export default class Select extends Component {
612
626
  }
613
627
  this.props.onChange(nextSelection, event);
614
628
  const nextState = {
629
+ filterValue: '',
615
630
  selected: nextSelection,
616
631
  selectedIndex: this._getSelectedIndex(selected, this.props.data)
617
632
  };
@@ -798,14 +813,14 @@ export default class Select extends Component {
798
813
  case Type.INPUT: return (<>
799
814
  <div ref={this.nodeRef} className={classNames(classes, styles.inputMode)} data-test={dataTests('ring-select', dataTest)}>
800
815
  {shortcutsEnabled && (<Shortcuts map={this.getShortcutsMap()} scope={this.shortcutsScope}/>)}
801
- <Input {...ariaProps} height={this.props.height} autoComplete="off" id={this.props.id} onClick={this._clickHandler} inputRef={this.filterRef} disabled={this.props.disabled} value={this.state.filterValue} borderless={this.props.type === Type.INPUT_WITHOUT_CONTROLS} style={style} size={Size.FULL} onChange={this._filterChangeHandler} onFocus={this._focusHandler} onBlur={this._blurHandler}
816
+ <Input {...ariaProps} height={this.props.height} autoComplete="off" id={this.props.id} onClick={this._clickHandler} inputRef={composeRefs(this.filterRef, this.props.filterRef)} disabled={this.props.disabled} value={this.state.filterValue} borderless={this.props.type === Type.INPUT_WITHOUT_CONTROLS} style={style} size={Size.FULL} onChange={this._filterChangeHandler} onFocus={this._focusHandler} onBlur={this._blurHandler}
802
817
  // Input with error style without description
803
818
  error={this.props.error != null ? '' : null} label={this.props.type === Type.INPUT ? this._getLabel() : null} placeholder={this.props.inputPlaceholder} onKeyDown={this.props.onKeyDown} data-test="ring-select__focus" enableShortcuts={shortcutsEnabled
804
819
  ? Object.keys({
805
820
  ...this.getShortcutsMap(),
806
821
  ...this._popup?.list?.shortcutsMap
807
822
  })
808
- : undefined} afterInput={this.props.type === Type.INPUT && iconsNode}/>
823
+ : undefined} icon={this.props.filterIcon} afterInput={this.props.type === Type.INPUT && iconsNode}/>
809
824
  {this._renderPopup()}
810
825
  </div>
811
826
  {this.props.error && (<div className={classNames(inputStyles.errorText, inputStyles[`size${this.props.size}`])}>
@@ -814,11 +829,12 @@ export default class Select extends Component {
814
829
  </>);
815
830
  case Type.BUTTON:
816
831
  return (<div ref={this.nodeRef} className={classNames(classes, styles.buttonMode)} data-test={dataTests('ring-select', dataTest)}>
817
- {selectedLabel && (<InputLabel label={selectedLabel} disabled={this.props.disabled} htmlFor={this.props.id}/>)}
832
+ {selectedLabel && (<ControlLabel type={this.props.labelType} disabled={this.props.disabled} htmlFor={this.props.id}>{selectedLabel}</ControlLabel>)}
818
833
  {shortcutsEnabled && (<Shortcuts map={this.getShortcutsMap()} scope={this.shortcutsScope}/>)}
819
834
  <div className={styles.buttonContainer}>
820
835
  <Button {...ariaProps} height={this.props.height} id={this.props.id} onClick={this._clickHandler} className={classNames(this.props.buttonClassName, styles.buttonValue, {
821
- [styles.buttonValueOpen]: this.state.showPopup
836
+ [styles.buttonValueOpen]: this.state.showPopup,
837
+ [styles.buttonValueEmpty]: this._selectionIsEmpty()
822
838
  })} disabled={this.props.disabled} style={style} data-test="ring-select__button ring-select__focus">
823
839
  {this._getAvatar()}
824
840
  {this._getPlaceholder()}
@@ -876,6 +892,11 @@ Select.propTypes = {
876
892
  multiple: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
877
893
  allowAny: PropTypes.bool,
878
894
  filter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
895
+ filterIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
896
+ filterRef: PropTypes.oneOfType([
897
+ PropTypes.func,
898
+ refObject(PropTypes.instanceOf(HTMLInputElement))
899
+ ]),
879
900
  getInitial: PropTypes.func,
880
901
  onClose: PropTypes.func,
881
902
  onOpen: PropTypes.func,
@@ -888,6 +909,7 @@ Select.propTypes = {
888
909
  onBeforeOpen: PropTypes.func,
889
910
  onSelect: PropTypes.func,
890
911
  onDeselect: PropTypes.func,
912
+ onOutsideClick: PropTypes.func,
891
913
  onFocus: PropTypes.func,
892
914
  onBlur: PropTypes.func,
893
915
  onKeyDown: PropTypes.func,
@@ -922,6 +944,8 @@ Select.propTypes = {
922
944
  inputPlaceholder: PropTypes.string,
923
945
  clear: PropTypes.bool,
924
946
  hideArrow: PropTypes.bool,
947
+ showPopup: PropTypes.bool,
948
+ tryKeepOpen: PropTypes.bool,
925
949
  compact: PropTypes.bool,
926
950
  size: PropTypes.oneOf(Object.values(Size)),
927
951
  customAnchor: PropTypes.func,
@@ -1,4 +1,4 @@
1
- import { Component, RefCallback } from 'react';
1
+ import React, { Component, RefCallback } from 'react';
2
2
  import { InputAttrs } from '../input/input';
3
3
  declare function noop(): void;
4
4
  type SelectFilterProps = InputAttrs & {
@@ -7,7 +7,6 @@ type SelectFilterProps = InputAttrs & {
7
7
  };
8
8
  export default class SelectFilter extends Component<SelectFilterProps> {
9
9
  static defaultProps: {
10
- placeholder: string;
11
10
  inputRef: typeof noop;
12
11
  };
13
12
  componentWillUnmount(): void;
@@ -15,6 +14,6 @@ export default class SelectFilter extends Component<SelectFilterProps> {
15
14
  blur(): void;
16
15
  input?: HTMLInputElement | HTMLTextAreaElement | null;
17
16
  inputRef: (el: HTMLInputElement | HTMLTextAreaElement | null) => void;
18
- render(): JSX.Element;
17
+ render(): React.JSX.Element;
19
18
  }
20
19
  export {};
@@ -4,11 +4,11 @@ import classNames from 'classnames';
4
4
  import Input from '../input/input';
5
5
  import sniffr from '../global/sniffer';
6
6
  import { ActiveItemContext } from '../list/list';
7
+ import { I18nContext } from '../i18n/i18n-context';
7
8
  import styles from './select-popup.css';
8
9
  function noop() { }
9
10
  export default class SelectFilter extends Component {
10
11
  static defaultProps = {
11
- placeholder: 'Filter items',
12
12
  inputRef: noop
13
13
  };
14
14
  componentWillUnmount() {
@@ -34,7 +34,9 @@ export default class SelectFilter extends Component {
34
34
  const { className, listId, ...restProps } = this.props;
35
35
  const classes = classNames(styles.filter, className);
36
36
  return (<ActiveItemContext.ValueContext.Consumer>
37
- {activeItemId => (<Input {...restProps} aria-owns={listId} aria-activedescendant={activeItemId} autoComplete="off" autoFocus borderless inputRef={this.inputRef} className={classes}/>)}
37
+ {activeItemId => (<I18nContext.Consumer>
38
+ {({ translate }) => (<Input {...restProps} placeholder={restProps.placeholder ?? translate('filterItems')} aria-owns={listId} aria-activedescendant={activeItemId} autoComplete="off" autoFocus borderless inputRef={this.inputRef} className={classes}/>)}
39
+ </I18nContext.Consumer>)}
38
40
  </ActiveItemContext.ValueContext.Consumer>);
39
41
  }
40
42
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @description Displays a popup with select's options.
3
3
  */
4
- import React, { CSSProperties, PureComponent, ReactNode, SyntheticEvent } from 'react';
4
+ import React, { ComponentType, CSSProperties, PureComponent, ReactNode, Ref, SyntheticEvent } from 'react';
5
+ import PropTypes from 'prop-types';
5
6
  import { IconType } from '../icon/icon';
6
7
  import Popup from '../popup/popup';
7
8
  import { Directions } from '../popup/position';
@@ -9,6 +10,7 @@ import List, { SelectHandlerParams } from '../list/list';
9
10
  import Caret from '../caret/caret';
10
11
  import { ListDataItem } from '../list/consts';
11
12
  import { ShortcutsMap } from '../shortcuts/core';
13
+ import { TagAttrs } from '../tag/tag';
12
14
  import { SelectItem } from './select';
13
15
  export type FilterFn<T> = (itemToCheck: SelectItem<T>, checkString: string, data: readonly SelectItem<T>[]) => boolean;
14
16
  export interface Filter<T = unknown> {
@@ -33,12 +35,16 @@ export interface TagsReset {
33
35
  }
34
36
  export interface Tags {
35
37
  reset?: TagsReset | null | undefined;
38
+ customTagComponent?: (tag: TagAttrs) => ReactNode;
36
39
  }
37
40
  export interface SelectPopupProps<T = unknown> {
38
41
  data: readonly ListDataItem<T>[];
39
42
  activeIndex: number | null;
40
43
  toolbar: ReactNode;
44
+ topbar: ReactNode;
41
45
  filter: boolean | Filter<T>;
46
+ filterIcon?: string | ComponentType | null | undefined;
47
+ filterRef?: Ref<HTMLInputElement>;
42
48
  message: string | null;
43
49
  anchorElement: HTMLElement | null;
44
50
  maxHeight: number;
@@ -46,6 +52,7 @@ export interface SelectPopupProps<T = unknown> {
46
52
  loading: boolean;
47
53
  onSelect: (item: ListDataItem<T>, event: Event, params?: SelectHandlerParams) => void;
48
54
  onCloseAttempt: (e?: Event | SyntheticEvent, isEsc?: boolean | undefined) => void;
55
+ onOutsideClick: (e: PointerEvent) => void;
49
56
  onFilter: (e: React.ChangeEvent<HTMLInputElement>) => void;
50
57
  onClear: (e: React.MouseEvent<HTMLButtonElement>) => void;
51
58
  onLoadMore: () => void;
@@ -101,16 +108,49 @@ export default class SelectPopup<T = unknown> extends PureComponent<SelectPopupP
101
108
  onListSelect: (selected: ListDataItem<T>, event?: Event | SyntheticEvent, opts?: SelectHandlerParams) => void;
102
109
  tabPress: (event: Event) => void;
103
110
  onClickHandler: () => void | undefined;
104
- getFilter(): JSX.Element | null;
111
+ getFilter(): React.JSX.Element | null;
105
112
  handleRemoveTag: (arg: ListDataItem<T>) => (event: SyntheticEvent) => void;
106
113
  handleTagClick: (arg: ListDataItem<T>) => () => void;
107
- getTags(): false | JSX.Element;
108
- getFilterWithTags(): JSX.Element | null;
109
- getBottomLine(): "" | JSX.Element | null;
114
+ getCustomTag(tags: Tags | boolean | null): ((tag: Pick<Pick<import("../tag/tag").TagProps, keyof import("../tag/tag").TagProps> & Pick<PropTypes.InferProps<{
115
+ onRemove: PropTypes.Requireable<(...args: any[]) => any>;
116
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
117
+ rgTagIcon: PropTypes.Requireable<NonNullable<PropTypes.ReactComponentLike | null | undefined>>;
118
+ icon: PropTypes.Requireable<string>;
119
+ avatar: PropTypes.Requireable<string>;
120
+ rgTagTitle: PropTypes.Requireable<string>;
121
+ readOnly: PropTypes.Requireable<boolean>;
122
+ disabled: PropTypes.Requireable<boolean>;
123
+ focused: PropTypes.Requireable<boolean>;
124
+ angled: PropTypes.Requireable<boolean>;
125
+ backgroundColor: PropTypes.Requireable<string>;
126
+ textColor: PropTypes.Requireable<string>;
127
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
128
+ className: PropTypes.Requireable<string>;
129
+ render: PropTypes.Requireable<(...args: any[]) => any>;
130
+ }>, never> & Pick<import("../tag/tag").TagProps, never>, never> & {
131
+ className?: string | null | undefined;
132
+ children?: React.ReactNode;
133
+ onClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
134
+ icon?: string | undefined;
135
+ disabled?: boolean | undefined;
136
+ avatar?: string | null | undefined;
137
+ readOnly?: boolean | undefined;
138
+ focused?: boolean | undefined;
139
+ render?: ((props: import("../tag/tag").TagRenderProps) => React.ReactNode) | undefined;
140
+ onRemove?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
141
+ rgTagIcon?: string | IconType | null | undefined;
142
+ rgTagTitle?: string | undefined;
143
+ angled?: boolean | null | undefined;
144
+ textColor?: string | undefined;
145
+ backgroundColor?: string | undefined;
146
+ } & {}) => React.ReactNode) | undefined;
147
+ getTags(): false | React.JSX.Element;
148
+ getFilterWithTags(): React.JSX.Element | null;
149
+ getBottomLine(): "" | React.JSX.Element | null;
110
150
  handleListResize: () => void;
111
- getList(ringPopupTarget: string | Element | undefined): JSX.Element | null;
151
+ getList(ringPopupTarget: string | Element | undefined): React.JSX.Element | null;
112
152
  handleSelectAll: () => void;
113
- getSelectAll: () => false | JSX.Element;
153
+ getSelectAll: () => false | React.JSX.Element;
114
154
  private _adjustListMaxHeight;
115
155
  popupRef: (el: Popup | null) => void;
116
156
  list?: List<T> | null;
@@ -121,6 +161,6 @@ export default class SelectPopup<T = unknown> extends PureComponent<SelectPopupP
121
161
  tab: (event: Event) => void;
122
162
  };
123
163
  popupFilterShortcutsMap: ShortcutsMap;
124
- render(): JSX.Element;
164
+ render(): React.JSX.Element;
125
165
  }
126
166
  export type SelectPopupAttrs<T = unknown> = JSX.LibraryManagedAttributes<typeof SelectPopup, SelectPopupProps<T>>;
@@ -22,6 +22,8 @@ import Shortcuts from '../shortcuts/shortcuts';
22
22
  import Button from '../button/button';
23
23
  import Text from '../text/text';
24
24
  import { ControlsHeight } from '../global/controls-height';
25
+ import { refObject } from '../global/prop-types';
26
+ import composeRefs from '../global/composeRefs';
25
27
  import { DEFAULT_DIRECTIONS } from '../popup/popup.consts';
26
28
  import SelectFilter from './select__filter';
27
29
  import styles from './select-popup.css';
@@ -34,7 +36,10 @@ export default class SelectPopup extends PureComponent {
34
36
  data: [],
35
37
  activeIndex: null,
36
38
  toolbar: null,
39
+ topbar: null,
37
40
  filter: false,
41
+ filterIcon: null,
42
+ filterRef: noop,
38
43
  multiple: false,
39
44
  message: null,
40
45
  anchorElement: null,
@@ -43,6 +48,7 @@ export default class SelectPopup extends PureComponent {
43
48
  loading: false,
44
49
  onSelect: noop,
45
50
  onCloseAttempt: noop,
51
+ onOutsideClick: noop,
46
52
  onFilter: noop,
47
53
  onClear: noop,
48
54
  onLoadMore: noop,
@@ -75,7 +81,8 @@ export default class SelectPopup extends PureComponent {
75
81
  }
76
82
  caret;
77
83
  handleNavigation(event, navigateLeft) {
78
- if (this.isEventTargetFilter(event) && this.caret != null && this.caret.getPosition() > 0 ||
84
+ if (this.isEventTargetFilter(event) && this.caret != null &&
85
+ Number(this.caret.getPosition()) > 0 ||
79
86
  !Array.isArray(this.props.selected)) {
80
87
  return;
81
88
  }
@@ -177,8 +184,8 @@ export default class SelectPopup extends PureComponent {
177
184
  getFilter() {
178
185
  if (this.props.filter || this.props.tags) {
179
186
  return (<div className={styles.filterWrapper} data-test="ring-select-popup-filter">
180
- {!this.props.tags && (<Icon glyph={searchIcon} className={styles.filterIcon} data-test-custom="ring-select-popup-filter-icon"/>)}
181
- <FilterWithShortcuts rgShortcutsOptions={this.state.popupFilterShortcutsOptions} rgShortcutsMap={this.popupFilterShortcutsMap} value={this.props.filterValue} inputRef={this.filterRef} onBlur={this.popupFilterOnBlur} onFocus={this.onFilterFocus} className="ring-js-shortcuts" inputClassName={classNames({ [styles.filterWithTagsInput]: this.props.tags })} placeholder={typeof this.props.filter === 'object'
187
+ {!this.props.tags && (<Icon glyph={this.props.filterIcon ?? searchIcon} className={styles.filterIcon} data-test-custom="ring-select-popup-filter-icon"/>)}
188
+ <FilterWithShortcuts rgShortcutsOptions={this.state.popupFilterShortcutsOptions} rgShortcutsMap={this.popupFilterShortcutsMap} value={this.props.filterValue} inputRef={composeRefs(this.filterRef, this.props.filterRef)} onBlur={this.popupFilterOnBlur} onFocus={this.onFilterFocus} className="ring-js-shortcuts" inputClassName={classNames({ [styles.filterWithTagsInput]: this.props.tags })} placeholder={typeof this.props.filter === 'object'
182
189
  ? this.props.filter.placeholder
183
190
  : undefined} height={this.props.tags ? ControlsHeight.S : ControlsHeight.L} onChange={this.props.onFilter} onClick={this.onClickHandler} onClear={this.props.tags ? undefined : this.props.onClear} data-test-custom="ring-select-popup-filter-input" listId={this.props.listId} enableShortcuts={Object.keys(this.popupFilterShortcutsMap)}/>
184
191
  </div>);
@@ -193,9 +200,15 @@ export default class SelectPopup extends PureComponent {
193
200
  });
194
201
  }
195
202
  });
203
+ getCustomTag(tags) {
204
+ if (tags !== null && typeof tags !== 'boolean') {
205
+ return tags.customTagComponent;
206
+ }
207
+ return undefined;
208
+ }
196
209
  getTags() {
197
210
  return Array.isArray(this.props.selected) && (<div>
198
- <TagsList tags={this.props.selected} activeIndex={this.state.tagsActiveIndex} handleRemove={this.handleRemoveTag} handleClick={this.handleTagClick} disabled={this.props.disabled}/>
211
+ <TagsList tags={this.props.selected} activeIndex={this.state.tagsActiveIndex} handleRemove={this.handleRemoveTag} handleClick={this.handleTagClick} disabled={this.props.disabled} customTagComponent={this.getCustomTag(this.props.tags)}/>
199
212
  </div>);
200
213
  }
201
214
  getFilterWithTags() {
@@ -278,7 +291,7 @@ export default class SelectPopup extends PureComponent {
278
291
  const anchorNode = this.props.anchorElement;
279
292
  const containerNode = getPopupContainer(ringPopupTarget) || document.documentElement;
280
293
  return anchorNode != null
281
- ? Math.min(directions.reduce((maxHeight, direction) => (Math.max(maxHeight, maxHeightForDirection(direction, anchorNode, getStyles(containerNode).position !== 'static' ? containerNode : undefined) ?? 0)), minMaxHeight), userDefinedMaxHeight)
294
+ ? Math.min(directions.reduce((maxHeight, direction) => (Math.max(maxHeight, maxHeightForDirection(direction, anchorNode, getStyles(containerNode).position !== 'static' ? containerNode : null) ?? 0)), minMaxHeight), userDefinedMaxHeight)
282
295
  : userDefinedMaxHeight;
283
296
  });
284
297
  popupRef = (el) => {
@@ -312,7 +325,7 @@ export default class SelectPopup extends PureComponent {
312
325
  right: event => this.handleNavigation(event)
313
326
  };
314
327
  render() {
315
- const { toolbar, className, multiple, hidden, isInputMode, anchorElement, minWidth, onCloseAttempt, directions, top, left, style, dir, filter } = this.props;
328
+ const { toolbar, topbar, className, multiple, hidden, isInputMode, anchorElement, minWidth, onCloseAttempt, onOutsideClick, directions, top, left, style, dir, filter } = this.props;
316
329
  const classes = classNames(styles.popup, className);
317
330
  return (<PopupTargetContext.Consumer>
318
331
  {ringPopupTarget => {
@@ -321,11 +334,12 @@ export default class SelectPopup extends PureComponent {
321
334
  multiple.selectAll && this.getSelectAll();
322
335
  const list = this.getList(this.props.ringPopupTarget || ringPopupTarget);
323
336
  const bottomLine = this.getBottomLine();
324
- const hasContent = filterWithTags || selectAll || list || bottomLine || toolbar;
325
- return (<Popup trapFocus={false} ref={this.popupRef} hidden={hidden || !hasContent} attached={isInputMode} className={classes} dontCloseOnAnchorClick anchorElement={anchorElement} minWidth={minWidth} onCloseAttempt={onCloseAttempt} directions={directions} top={top} left={left} onMouseDown={this.mouseDownHandler} target={this.props.ringPopupTarget} autoCorrectTopOverflow={false} style={style}>
337
+ const hasContent = filterWithTags || selectAll || list || bottomLine || toolbar || topbar;
338
+ return (<Popup trapFocus={false} ref={this.popupRef} hidden={hidden || !hasContent} attached={isInputMode} className={classes} dontCloseOnAnchorClick anchorElement={anchorElement} minWidth={minWidth} onCloseAttempt={onCloseAttempt} onOutsideClick={onOutsideClick} directions={directions} top={top} left={left} onMouseDown={this.mouseDownHandler} target={this.props.ringPopupTarget} autoCorrectTopOverflow={false} style={style}>
326
339
  <div dir={dir}>
327
340
  {!hidden && filter &&
328
341
  (<Shortcuts map={this.shortcutsMap} scope={this.shortcutsScope}/>)}
342
+ {topbar}
329
343
  {/* Add empty div to prevent the change of List position in DOM*/}
330
344
  {hidden ? <div /> : filterWithTags}
331
345
  {selectAll}
@@ -354,6 +368,11 @@ SelectPopup.propTypes = {
354
368
  placeholder: PropTypes.string
355
369
  })]),
356
370
  filterValue: PropTypes.string,
371
+ filterIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
372
+ filterRef: PropTypes.oneOfType([
373
+ PropTypes.func,
374
+ refObject(PropTypes.instanceOf(HTMLInputElement))
375
+ ]),
357
376
  hidden: PropTypes.bool,
358
377
  isInputMode: PropTypes.bool,
359
378
  listId: PropTypes.string,
@@ -369,6 +388,7 @@ SelectPopup.propTypes = {
369
388
  loading: PropTypes.bool,
370
389
  onClear: PropTypes.func,
371
390
  onCloseAttempt: PropTypes.func,
391
+ onOutsideClick: PropTypes.func,
372
392
  onEmptyPopupEnter: PropTypes.func,
373
393
  onFilter: PropTypes.func,
374
394
  onLoadMore: PropTypes.func,
@@ -380,5 +400,6 @@ SelectPopup.propTypes = {
380
400
  style: PropTypes.object,
381
401
  tags: PropTypes.object,
382
402
  toolbar: PropTypes.node,
403
+ topbar: PropTypes.node,
383
404
  top: PropTypes.number
384
405
  };
@@ -11,7 +11,7 @@ export interface ShortcutsHOCProps {
11
11
  export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentType<P> | string): {
12
12
  new (props: (P & ShortcutsHOCProps) | Readonly<P & ShortcutsHOCProps>): {
13
13
  _shortcutsScopeUid: string;
14
- render(): JSX.Element;
14
+ render(): React.JSX.Element;
15
15
  context: unknown;
16
16
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
17
17
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -35,7 +35,7 @@ export default function shortcutsHOC<P extends {}>(ComposedComponent: ComponentT
35
35
  };
36
36
  new (props: P & ShortcutsHOCProps, context: any): {
37
37
  _shortcutsScopeUid: string;
38
- render(): JSX.Element;
38
+ render(): React.JSX.Element;
39
39
  context: unknown;
40
40
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<P & ShortcutsHOCProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
41
41
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -24,5 +24,5 @@ export default class Shortcuts extends PureComponent<ShortcutsProps> {
24
24
  componentWillUnmount(): void;
25
25
  turnShorcutsOn(): void;
26
26
  turnShorcutsOff(): void;
27
- render(): string | number | true | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactFragment | null;
27
+ render(): string | number | true | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null;
28
28
  }
@@ -39,5 +39,5 @@ export default class TabTrap extends Component<TabTrapProps> {
39
39
  handleBlurIfWithoutFocus: (event: React.FocusEvent) => void;
40
40
  trapButtonNode?: HTMLElement | null;
41
41
  trapButtonRef: (node: HTMLElement | null) => void;
42
- render(): JSX.Element;
42
+ render(): React.JSX.Element;
43
43
  }
@@ -1,4 +1,4 @@
1
- import { PureComponent, TdHTMLAttributes } from 'react';
1
+ import React, { PureComponent, TdHTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface CellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {
4
4
  'data-test'?: string | null | undefined;
@@ -9,5 +9,5 @@ export default class Cell extends PureComponent<CellProps> {
9
9
  className: PropTypes.Requireable<string>;
10
10
  'data-test': PropTypes.Requireable<string>;
11
11
  };
12
- render(): JSX.Element;
12
+ render(): React.JSX.Element;
13
13
  }
@@ -12,7 +12,7 @@ export default function disableHoverHOC<P extends DisableHoverAddProps>(Composed
12
12
  componentWillUnmount(): void;
13
13
  onMouseMove: () => void;
14
14
  onKeyDown: (e: KeyboardEvent) => void;
15
- render(): JSX.Element;
15
+ render(): React.JSX.Element;
16
16
  context: unknown;
17
17
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<DisableHoverProps<P>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
18
18
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -39,7 +39,7 @@ export default function disableHoverHOC<P extends DisableHoverAddProps>(Composed
39
39
  componentWillUnmount(): void;
40
40
  onMouseMove: () => void;
41
41
  onKeyDown: (e: KeyboardEvent) => void;
42
- render(): JSX.Element;
42
+ render(): React.JSX.Element;
43
43
  context: unknown;
44
44
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<DisableHoverProps<P>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
45
45
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -1,4 +1,4 @@
1
- import { PureComponent, ReactNode, SyntheticEvent, ThHTMLAttributes } from 'react';
1
+ import React, { PureComponent, ReactNode, SyntheticEvent, ThHTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface Column<T = never> {
4
4
  id: string;
@@ -39,5 +39,5 @@ export default class HeaderCell extends PureComponent<HeaderCellProps> {
39
39
  sorted?: boolean;
40
40
  onClick: () => void;
41
41
  onChildrenClick(e: SyntheticEvent): void;
42
- render(): JSX.Element;
42
+ render(): React.JSX.Element;
43
43
  }
@@ -1,6 +1,5 @@
1
- import { ChangeEventHandler, PureComponent, ReactNode, SyntheticEvent } from 'react';
1
+ import React, { ChangeEventHandler, PureComponent, ReactNode, SyntheticEvent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { Waypoint } from 'react-waypoint';
4
3
  import { Column, SortParams } from './header-cell';
5
4
  export interface HeaderProps {
6
5
  columns: readonly Column[];
@@ -49,19 +48,9 @@ export default class Header extends PureComponent<HeaderProps> {
49
48
  sortKey: string;
50
49
  sortOrder: boolean;
51
50
  };
52
- state: {
53
- fixed: boolean;
54
- headerWidth: undefined;
55
- widths: never[];
56
- };
57
51
  id: string;
58
52
  onCheckboxFocus: (event: SyntheticEvent<HTMLElement>) => void;
59
- private _columnsRowNode?;
60
- storeColumnsRowNode: (node: HTMLElement | null) => void;
61
- onScrollIn: () => void;
62
- onScrollOut: ({ currentPosition }: Waypoint.CallbackArgs) => void;
63
- calculateColumnsWidths(columnsRowNode: HTMLElement | null | undefined): void;
64
- createCells(widths?: never[]): JSX.Element[];
65
- render(): JSX.Element;
53
+ createCells(widths?: never[]): React.JSX.Element[];
54
+ render(): React.JSX.Element;
66
55
  }
67
56
  export type HeaderAttrs = JSX.LibraryManagedAttributes<typeof Header, HeaderProps>;