@jetbrains/ring-ui 4.1.0-beta.9 → 4.1.4

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 (438) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +22 -16
  3. package/babel.config.js +3 -2
  4. package/components/alert/alert.js +9 -3
  5. package/components/alert/container.css +1 -1
  6. package/components/alert-service/alert-service.examples.css +18 -0
  7. package/components/alert-service/alert-service.examples.js +21 -0
  8. package/components/alert-service/alert-service.js +10 -3
  9. package/components/analytics/analytics__fus-plugin.js +1 -1
  10. package/components/auth/auth.test.js +14 -7
  11. package/components/auth/auth__core.js +64 -33
  12. package/components/auth-dialog/auth-dialog.js +1 -0
  13. package/components/avatar/avatar.css +4 -1
  14. package/components/avatar/avatar.examples.js +3 -2
  15. package/components/avatar/avatar.js +31 -6
  16. package/components/avatar/fallback-avatar.js +136 -0
  17. package/components/avatar-editor-ng/avatar-editor-ng.css +2 -2
  18. package/components/avatar-editor-ng/avatar-editor-ng.js +2 -1
  19. package/components/avatar-editor-ng/{avatar-editor-ng.html → avatar-editor-ng__template.js} +2 -2
  20. package/components/button/button.css +2 -2
  21. package/components/button/button.js +4 -1
  22. package/components/button-group/button-group.js +1 -1
  23. package/components/button-group/caption.js +1 -1
  24. package/components/button-ng/button-ng.js +1 -1
  25. package/components/button-set-ng/button-set-ng.js +3 -1
  26. package/components/checkbox/checkbox.css +1 -1
  27. package/components/code/code.js +1 -1
  28. package/components/confirm/confirm.js +1 -0
  29. package/components/confirm-service/confirm-service.js +5 -5
  30. package/components/content-layout/content-layout.css +1 -1
  31. package/components/data-list/data-list.css +1 -1
  32. package/components/date-picker/date-input.js +5 -4
  33. package/components/date-picker/date-picker.css +34 -22
  34. package/components/date-picker/date-picker.examples.js +1 -1
  35. package/components/date-picker/date-picker.js +16 -14
  36. package/components/date-picker/date-popup.js +22 -7
  37. package/components/date-picker/month-names.js +8 -5
  38. package/components/date-picker/month.js +6 -2
  39. package/components/date-picker/weekdays.js +10 -2
  40. package/components/dialog/dialog.examples.js +3 -1
  41. package/components/dialog/dialog.js +5 -2
  42. package/components/dialog/dialog.test.js +1 -1
  43. package/components/dialog/dialog__body-scroll-preventer.js +2 -2
  44. package/components/dialog-ng/dialog-ng.js +7 -8
  45. package/components/dialog-ng/{dialog-ng.html → dialog-ng__template.js} +2 -2
  46. package/components/dropdown/anchor.js +1 -0
  47. package/components/dropdown/dropdown.examples.js +36 -1
  48. package/components/dropdown-menu/dropdown-menu.examples.js +47 -0
  49. package/components/dropdown-menu/dropdown-menu.js +117 -0
  50. package/components/dropdown-menu/dropdown-menu.test.js +76 -0
  51. package/components/error-bubble/error-bubble-legacy.css +1 -1
  52. package/components/error-bubble/error-bubble.css +1 -1
  53. package/components/error-bubble/error-bubble.examples.js +1 -1
  54. package/components/error-page/error-page.css +2 -2
  55. package/components/footer-ng/footer-ng.js +13 -3
  56. package/components/form/form.css +2 -2
  57. package/components/form-ng/form-ng.js +3 -1
  58. package/components/global/global.css +1 -1
  59. package/components/global/theme.js +1 -1
  60. package/components/global/variables.css +8 -1
  61. package/components/grid/grid.css +10 -9
  62. package/components/header/header.css +1 -1
  63. package/components/header/header.examples.js +7 -8
  64. package/components/header/profile.js +10 -11
  65. package/components/http/http.js +1 -1
  66. package/components/icon/icon.css +5 -4
  67. package/components/island/island.css +4 -3
  68. package/components/island-legacy/island-legacy.css +3 -1
  69. package/components/list/list.js +6 -1
  70. package/components/list/list__custom.js +9 -3
  71. package/components/list/list__item.js +8 -2
  72. package/components/list/list__link.js +2 -1
  73. package/components/loader-inline/loader-inline.css +1 -1
  74. package/components/loader-screen/loader-screen.css +1 -1
  75. package/components/message/message.css +1 -1
  76. package/components/message/message.examples.js +8 -5
  77. package/components/pager/pager.js +5 -3
  78. package/components/permissions/permissions.js +1 -1
  79. package/components/progress-bar/progress-bar.css +1 -1
  80. package/components/progress-bar/progress-bar.examples.js +3 -3
  81. package/components/progress-bar/progress-bar.js +5 -2
  82. package/components/progress-bar/progress-bar.test.js +12 -13
  83. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -3
  84. package/components/query-assist/query-assist.css +13 -3
  85. package/components/query-assist/query-assist.examples.js +3 -1
  86. package/components/query-assist/query-assist.js +56 -12
  87. package/components/query-assist/query-assist.test.js +37 -5
  88. package/components/save-field-ng/save-field-ng.css +0 -3
  89. package/components/save-field-ng/save-field-ng.js +3 -1
  90. package/components/save-field-ng/{save-field-ng.html → save-field-ng__template.js} +2 -2
  91. package/components/select/select.css +12 -7
  92. package/components/select/select.examples.js +13 -0
  93. package/components/select/select.js +30 -43
  94. package/components/select/select.test.js +4 -5
  95. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  96. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -1
  97. package/components/shortcuts-hint-ng/{shortcuts-hint-ng.html → shortcuts-hint-ng__template.js} +2 -2
  98. package/components/sidebar/sidebar.css +1 -0
  99. package/components/sidebar-ng/sidebar-ng.js +6 -2
  100. package/components/sidebar-ng/{sidebar-ng__button.html → sidebar-ng__button-template.js} +2 -2
  101. package/components/sidebar-ng/{sidebar-ng.html → sidebar-ng__template.js} +2 -2
  102. package/components/table/row.js +2 -1
  103. package/components/table/table.css +2 -1
  104. package/components/table-legacy/table-legacy.css +2 -2
  105. package/components/table-legacy/table-legacy__toolbar.css +2 -2
  106. package/components/table-legacy-ng/table-legacy-ng.js +38 -5
  107. package/components/table-legacy-ng/table-legacy-ng__pager.js +7 -1
  108. package/components/tabs/collapsible-tab.js +2 -2
  109. package/components/tabs/collapsible-tabs.js +4 -8
  110. package/components/tabs/dumb-tabs.js +1 -0
  111. package/components/tabs/tab-link.js +4 -2
  112. package/components/tabs/tabs.css +27 -0
  113. package/components/tabs-ng/tabs-ng.js +4 -2
  114. package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +6 -2
  115. package/components/tag/tag.css +5 -2
  116. package/components/tag/tag.examples.js +3 -0
  117. package/components/tag/tag.js +19 -16
  118. package/components/tags-input/tag-input.examples.js +1 -1
  119. package/components/tags-input/tags-input.js +5 -2
  120. package/components/template-ng/template-ng.js +1 -1
  121. package/components/tooltip/tooltip.js +7 -2
  122. package/components/user-agreement/user-agreement.css +1 -1
  123. package/components/user-agreement/user-agreement.examples.js +7 -4
  124. package/components/user-agreement/user-agreement.js +1 -0
  125. package/dist/_helpers/_rollupPluginBabelHelpers.js +1 -94
  126. package/dist/_helpers/anchor.js +6 -6
  127. package/dist/_helpers/badge.js +1 -1
  128. package/dist/_helpers/button-group.js +3 -0
  129. package/dist/_helpers/button-set.js +3 -0
  130. package/dist/_helpers/button-toolbar.js +3 -0
  131. package/dist/_helpers/button__classes.js +1 -1
  132. package/dist/_helpers/card.js +6 -8
  133. package/dist/_helpers/checkbox.js +3 -0
  134. package/dist/_helpers/date-picker.js +1 -1
  135. package/dist/_helpers/dialog__body-scroll-preventer.js +3 -2
  136. package/dist/_helpers/error-message.js +3 -0
  137. package/dist/_helpers/footer.js +121 -0
  138. package/dist/_helpers/grid.js +1 -1
  139. package/dist/_helpers/group.js +3 -0
  140. package/dist/_helpers/header.js +1 -1
  141. package/dist/_helpers/icon.js +3 -0
  142. package/dist/_helpers/inject-styles.js +1 -1
  143. package/dist/_helpers/input.js +3 -0
  144. package/dist/_helpers/island.js +1 -1
  145. package/dist/_helpers/link.js +3 -0
  146. package/dist/_helpers/list.js +1 -1
  147. package/dist/_helpers/loader-screen.js +3 -0
  148. package/dist/_helpers/panel.js +3 -0
  149. package/dist/_helpers/query-assist__suggestions.js +1 -1
  150. package/dist/_helpers/radio.js +3 -0
  151. package/dist/_helpers/select__filter.js +6 -8
  152. package/dist/_helpers/services-link.js +6 -8
  153. package/dist/_helpers/sidebar.js +6 -8
  154. package/dist/_helpers/table.js +1 -1
  155. package/dist/_helpers/tabs.js +1 -1
  156. package/dist/_helpers/title.js +1 -1
  157. package/dist/alert/alert.js +15 -9
  158. package/dist/alert/container.js +7 -9
  159. package/dist/alert-service/alert-service.js +24 -13
  160. package/dist/analytics/analytics.js +2 -2
  161. package/dist/analytics/analytics__custom-plugin.js +1 -1
  162. package/dist/analytics/analytics__fus-plugin.js +2 -2
  163. package/dist/analytics/analytics__ga-plugin.js +1 -1
  164. package/dist/analytics/analytics__plugin-utils.js +1 -1
  165. package/dist/analytics-ng/analytics-ng.js +94 -0
  166. package/dist/auth/auth.js +7 -4
  167. package/dist/auth/auth__core.js +86 -48
  168. package/dist/auth/background-flow.js +1 -2
  169. package/dist/auth/down-notification.js +6 -3
  170. package/dist/auth/iframe-flow.js +5 -2
  171. package/dist/auth/landing-entry.js +1 -1
  172. package/dist/auth/landing.js +5 -2
  173. package/dist/auth/request-builder.js +1 -1
  174. package/dist/auth/response-parser.js +1 -1
  175. package/dist/auth/storage.js +3 -2
  176. package/dist/auth/token-validator.js +1 -1
  177. package/dist/auth/window-flow.js +1 -1
  178. package/dist/auth-dialog/auth-dialog.js +5 -3
  179. package/dist/auth-dialog-service/auth-dialog-service.js +6 -5
  180. package/dist/auth-ng/auth-ng.js +203 -0
  181. package/dist/auth-ng/auth-ng.mock.js +33 -0
  182. package/dist/autofocus-ng/autofocus-ng.js +50 -0
  183. package/dist/avatar/avatar.js +36 -30
  184. package/dist/avatar/fallback-avatar.js +141 -0
  185. package/dist/avatar-editor-ng/avatar-editor-ng.js +164 -0
  186. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +30 -0
  187. package/dist/avatar-ng/avatar-ng.js +18 -0
  188. package/dist/badge/badge.js +6 -8
  189. package/dist/badge-ng/badge-ng.js +16 -0
  190. package/dist/breadcrumb-ng/breadcrumb-ng.js +61 -0
  191. package/dist/button/button.js +16 -10
  192. package/dist/button-group/button-group.js +4 -4
  193. package/dist/button-group/caption.js +24 -5
  194. package/dist/button-group-ng/button-group-ng.js +38 -0
  195. package/dist/button-ng/button-ng.js +223 -0
  196. package/dist/button-set/button-set.js +3 -4
  197. package/dist/button-set-ng/button-set-ng.js +19 -0
  198. package/dist/button-toolbar/button-toolbar.js +3 -4
  199. package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
  200. package/dist/caret/caret.js +1 -1
  201. package/dist/checkbox/checkbox.js +9 -11
  202. package/dist/checkbox-ng/checkbox-ng.js +55 -0
  203. package/dist/code/code.js +136 -0
  204. package/dist/compiler-ng/compiler-ng.js +53 -0
  205. package/dist/confirm/confirm.js +6 -3
  206. package/dist/confirm-ng/confirm-ng.js +66 -0
  207. package/dist/confirm-service/confirm-service.js +12 -10
  208. package/dist/content-layout/content-layout.js +6 -8
  209. package/dist/contenteditable/contenteditable.js +13 -16
  210. package/dist/data-list/data-list.js +10 -7
  211. package/dist/data-list/data-list.mock.js +2 -2
  212. package/dist/data-list/item.js +5 -3
  213. package/dist/data-list/selection.js +1 -1
  214. package/dist/data-list/title.js +3 -1
  215. package/dist/data-list-ng/data-list-ng.js +59 -0
  216. package/dist/date-picker/consts.js +1 -2
  217. package/dist/date-picker/date-input.js +10 -6
  218. package/dist/date-picker/date-picker.js +38 -29
  219. package/dist/date-picker/date-popup.js +51 -28
  220. package/dist/date-picker/day.js +2 -2
  221. package/dist/date-picker/formats.js +1 -1
  222. package/dist/date-picker/month-names.js +16 -9
  223. package/dist/date-picker/month-slider.js +2 -2
  224. package/dist/date-picker/month.js +13 -7
  225. package/dist/date-picker/months.js +3 -3
  226. package/dist/date-picker/weekdays.js +12 -4
  227. package/dist/date-picker/years.js +2 -2
  228. package/dist/dialog/dialog.js +13 -10
  229. package/dist/dialog/dialog__body-scroll-preventer.js +1 -1
  230. package/dist/dialog-ng/dialog-ng.js +601 -0
  231. package/dist/dialog-ng/dialog-ng__template.js +71 -0
  232. package/dist/docked-panel-ng/docked-panel-ng.js +170 -0
  233. package/dist/dropdown/anchor.js +2 -1
  234. package/dist/dropdown/dropdown.js +8 -10
  235. package/dist/dropdown-menu/dropdown-menu.js +175 -0
  236. package/dist/error-bubble/error-bubble.js +7 -9
  237. package/dist/error-message/error-message.js +4 -4
  238. package/dist/error-message-ng/error-message-ng.js +53 -0
  239. package/dist/footer/footer.js +6 -122
  240. package/dist/footer-ng/footer-ng.js +75 -0
  241. package/dist/form-ng/form-ng.js +169 -0
  242. package/dist/global/angular-component-factory.js +1 -2
  243. package/dist/global/compose.js +1 -1
  244. package/dist/global/composeRefs.js +1 -1
  245. package/dist/global/conic-gradient.js +3 -5
  246. package/dist/global/create-stateful-context.js +1 -1
  247. package/dist/global/data-tests.js +1 -1
  248. package/dist/global/focus-sensor-hoc.js +9 -11
  249. package/dist/global/fuzzy-highlight.js +1 -1
  250. package/dist/global/get-event-key.js +1 -1
  251. package/dist/global/get-uid.js +1 -1
  252. package/dist/global/linear-function.js +1 -2
  253. package/dist/global/listeners.js +1 -1
  254. package/dist/global/memoize.js +1 -1
  255. package/dist/global/normalize-indent.js +1 -1
  256. package/dist/global/promise-with-timeout.js +1 -1
  257. package/dist/global/radial-gradient-mask.js +1 -1
  258. package/dist/global/react-dom-renderer.js +1 -1
  259. package/dist/global/rerender-hoc.js +3 -5
  260. package/dist/global/ring-angular-component.js +1 -1
  261. package/dist/global/schedule-raf.js +1 -1
  262. package/dist/global/sniffer.js +1 -1
  263. package/dist/global/supports-css.js +1 -1
  264. package/dist/global/theme.js +6 -8
  265. package/dist/global/trivial-template-tag.js +1 -1
  266. package/dist/global/variables_dark.js +1 -1
  267. package/dist/grid/col.js +6 -8
  268. package/dist/grid/grid.js +5 -7
  269. package/dist/grid/row.js +6 -8
  270. package/dist/group/group.js +7 -10
  271. package/dist/group-ng/group-ng.js +11 -0
  272. package/dist/header/header.js +29 -26
  273. package/dist/header/logo.js +8 -9
  274. package/dist/header/profile.js +37 -32
  275. package/dist/header/services-link.js +1 -0
  276. package/dist/header/services.js +10 -9
  277. package/dist/header/smart-profile.js +27 -24
  278. package/dist/header/smart-services.js +10 -9
  279. package/dist/header/tray-icon.js +12 -12
  280. package/dist/header/tray.js +6 -8
  281. package/dist/heading/heading.js +9 -12
  282. package/dist/http/http.js +37 -37
  283. package/dist/http/http.mock.js +4 -4
  284. package/dist/hub-source/hub-source.js +1 -1
  285. package/dist/hub-source/hub-source__users-groups.js +1 -1
  286. package/dist/icon/icon.js +8 -8
  287. package/dist/icon/icon__svg.js +81 -6
  288. package/dist/icon/index.js +2 -1
  289. package/dist/icon-ng/icon-ng.js +89 -0
  290. package/dist/input/input.js +9 -12
  291. package/dist/input-ng/input-ng.js +166 -0
  292. package/dist/island/adaptive-island-hoc.js +1 -2
  293. package/dist/island/content.js +6 -8
  294. package/dist/island/header.js +6 -8
  295. package/dist/island/island.js +6 -9
  296. package/dist/island-legacy/content-legacy.js +6 -8
  297. package/dist/island-legacy/header-legacy.js +6 -8
  298. package/dist/island-legacy/island-legacy.js +6 -8
  299. package/dist/island-ng/island-content-ng.js +56 -0
  300. package/dist/island-ng/island-header-ng.js +32 -0
  301. package/dist/island-ng/island-ng-class-fixer.js +9 -0
  302. package/dist/island-ng/island-ng.js +31 -0
  303. package/dist/link/clickableLink.js +6 -8
  304. package/dist/link/link.js +7 -11
  305. package/dist/link-ng/link-ng.js +25 -0
  306. package/dist/list/list.js +25 -13
  307. package/dist/list/list__custom.js +13 -10
  308. package/dist/list/list__hint.js +1 -1
  309. package/dist/list/list__item.js +20 -13
  310. package/dist/list/list__link.js +11 -12
  311. package/dist/list/list__separator.js +1 -1
  312. package/dist/list/list__title.js +1 -1
  313. package/dist/list/list__users-groups-source.js +11 -7
  314. package/dist/loader/loader.js +6 -8
  315. package/dist/loader/loader__core.js +2 -2
  316. package/dist/loader-inline/inject-styles.js +1 -1
  317. package/dist/loader-inline/loader-inline.js +6 -8
  318. package/dist/loader-inline-ng/loader-inline-ng.js +42 -0
  319. package/dist/loader-ng/loader-ng.js +43 -0
  320. package/dist/loader-screen/loader-screen.js +7 -10
  321. package/dist/loader-screen-ng/loader-screen-ng.js +99 -0
  322. package/dist/login-dialog/login-dialog.js +5 -3
  323. package/dist/login-dialog/service.js +7 -5
  324. package/dist/markdown/code.js +30 -0
  325. package/dist/markdown/heading.js +23 -0
  326. package/dist/markdown/link.js +30 -0
  327. package/dist/markdown/markdown.js +73 -0
  328. package/dist/message/message.js +5 -4
  329. package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
  330. package/dist/old-browsers-message/old-browsers-message.js +0 -1
  331. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -1
  332. package/dist/old-browsers-message/white-list.js +4 -5
  333. package/dist/pager/pager.js +18 -9
  334. package/dist/pager-ng/pager-ng.js +96 -0
  335. package/dist/panel/panel.js +7 -10
  336. package/dist/panel-ng/panel-ng.js +16 -0
  337. package/dist/permissions/permissions.js +1 -1
  338. package/dist/permissions/permissions__cache.js +1 -1
  339. package/dist/permissions-ng/permissions-ng.js +274 -0
  340. package/dist/place-under-ng/place-under-ng.js +157 -0
  341. package/dist/popup/popup.js +8 -8
  342. package/dist/popup/popup.target.js +4 -5
  343. package/dist/popup/position.js +1 -2
  344. package/dist/popup-menu/popup-menu.js +21 -14
  345. package/dist/progress-bar/progress-bar.js +12 -10
  346. package/dist/progress-bar-ng/progress-bar-ng.js +15 -0
  347. package/dist/promised-click-ng/promised-click-ng.js +126 -0
  348. package/dist/proxy-attrs/proxy-attrs.js +1 -1
  349. package/dist/query-assist/query-assist.js +97 -28
  350. package/dist/query-assist/query-assist__suggestions.js +5 -1
  351. package/dist/query-assist-ng/query-assist-ng.js +82 -0
  352. package/dist/radio/radio.js +7 -5
  353. package/dist/radio/radio__item.js +10 -15
  354. package/dist/radio-ng/radio-ng.js +63 -0
  355. package/dist/save-field-ng/save-field-ng.js +335 -0
  356. package/dist/save-field-ng/save-field-ng__template.js +34 -0
  357. package/dist/select/select.js +50 -49
  358. package/dist/select/select__filter.js +6 -1
  359. package/dist/select/select__popup.js +8 -3
  360. package/dist/select-ng/select-ng.js +621 -0
  361. package/dist/select-ng/select-ng__lazy.js +150 -0
  362. package/dist/select-ng/select-ng__options.js +145 -0
  363. package/dist/shortcuts/core.js +2 -2
  364. package/dist/shortcuts/shortcuts-hoc.js +6 -8
  365. package/dist/shortcuts/shortcuts.js +6 -6
  366. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +120 -0
  367. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +50 -0
  368. package/dist/shortcuts-ng/shortcuts-ng.js +261 -0
  369. package/dist/sidebar-ng/sidebar-ng.js +111 -0
  370. package/dist/sidebar-ng/sidebar-ng__button-template.js +20 -0
  371. package/dist/sidebar-ng/sidebar-ng__template.js +12 -0
  372. package/dist/storage/storage.js +3 -2
  373. package/dist/storage/storage__fallback.js +1 -1
  374. package/dist/storage/storage__local.js +3 -2
  375. package/dist/style.css +1 -1
  376. package/dist/tab-trap/tab-trap.js +7 -9
  377. package/dist/table/cell.js +2 -2
  378. package/dist/table/disable-hover-hoc.js +2 -2
  379. package/dist/table/header-cell.js +8 -9
  380. package/dist/table/header.js +5 -3
  381. package/dist/table/multitable.js +1 -1
  382. package/dist/table/row-with-focus-sensor.js +5 -3
  383. package/dist/table/row.js +11 -10
  384. package/dist/table/selection-adapter.js +1 -1
  385. package/dist/table/selection-shortcuts-hoc.js +8 -6
  386. package/dist/table/selection.js +1 -1
  387. package/dist/table/smart-table.js +14 -8
  388. package/dist/table/table.js +10 -11
  389. package/dist/table-legacy-ng/table-legacy-ng.js +501 -0
  390. package/dist/table-legacy-ng/table-legacy-ng__pager.js +122 -0
  391. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
  392. package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
  393. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +56 -0
  394. package/dist/table-ng/smart-table-ng.js +65 -0
  395. package/dist/table-ng/table-ng.js +64 -0
  396. package/dist/tabs/collapsible-more.js +9 -6
  397. package/dist/tabs/collapsible-tab.js +7 -7
  398. package/dist/tabs/collapsible-tabs.js +18 -19
  399. package/dist/tabs/dumb-tabs.js +12 -9
  400. package/dist/tabs/smart-tabs.js +11 -9
  401. package/dist/tabs/tab-link.js +13 -7
  402. package/dist/tabs/tab.js +1 -1
  403. package/dist/tabs/tabs.js +5 -1
  404. package/dist/tabs-ng/tabs-ng.js +193 -0
  405. package/dist/tabs-ng/tabs-ng__template.js +40 -0
  406. package/dist/tag/tag.js +20 -14
  407. package/dist/tags-input/tags-input.js +14 -10
  408. package/dist/tags-input-ng/tags-input-ng.js +89 -0
  409. package/dist/tags-list/tags-list.js +8 -9
  410. package/dist/template-ng/template-ng.js +70 -0
  411. package/dist/text/text.js +7 -9
  412. package/dist/theme-ng/theme-ng.js +44 -0
  413. package/dist/title-ng/title-ng.js +114 -0
  414. package/dist/toggle/toggle.js +8 -11
  415. package/dist/toggle-ng/toggle-ng.js +16 -0
  416. package/dist/tooltip/tooltip.js +14 -12
  417. package/dist/tooltip-ng/tooltip-ng.js +98 -0
  418. package/dist/user-agreement/service.js +409 -0
  419. package/dist/user-agreement/toolbox.eula.js +162 -0
  420. package/dist/user-agreement/user-agreement.js +167 -0
  421. package/dist/user-card/card.js +3 -0
  422. package/dist/user-card/smart-user-card-tooltip.js +14 -14
  423. package/dist/user-card/tooltip.js +9 -7
  424. package/dist/user-card/user-card.js +5 -2
  425. package/dist/user-card-ng/user-card-ng.js +59 -0
  426. package/package.json +81 -79
  427. package/webpack.config.js +14 -10
  428. package/components/button-set-ng/button-set-ng.html +0 -1
  429. package/components/footer-ng/footer-ng.html +0 -13
  430. package/components/form-ng/form-ng__error-bubble.html +0 -3
  431. package/components/table-legacy-ng/table-legacy-ng.html +0 -4
  432. package/components/table-legacy-ng/table-legacy-ng__column.html +0 -12
  433. package/components/table-legacy-ng/table-legacy-ng__header.html +0 -4
  434. package/components/table-legacy-ng/table-legacy-ng__pager.html +0 -7
  435. package/components/table-legacy-ng/table-legacy-ng__row.html +0 -12
  436. package/components/table-legacy-ng/table-legacy-ng__title.html +0 -9
  437. package/dist/_helpers/caption.js +0 -25
  438. package/dist/_helpers/icon__svg.js +0 -83
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties, b as _extends, c as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import Popup from '../popup/popup.js';
@@ -30,16 +30,20 @@ import '../list/list__link.js';
30
30
  import '../link/link.js';
31
31
  import 'focus-visible';
32
32
  import '../link/clickableLink.js';
33
+ import '../_helpers/link.js';
33
34
  import '../_helpers/list.js';
34
35
  import '../list/list__item.js';
35
36
  import '../avatar/avatar.js';
36
37
  import '../global/url.js';
38
+ import '../avatar/fallback-avatar.js';
37
39
  import '../checkbox/checkbox.js';
38
40
  import '@jetbrains/icons/checkmark';
39
41
  import '@jetbrains/icons/remove-10px';
40
42
  import '../icon/icon.js';
41
43
  import '../icon/icon__constants.js';
42
- import '../_helpers/icon__svg.js';
44
+ import '../_helpers/icon.js';
45
+ import '../icon/icon__svg.js';
46
+ import '../_helpers/checkbox.js';
43
47
  import '../list/list__custom.js';
44
48
  import '../global/get-event-key.js';
45
49
  import '../list/list__title.js';
@@ -47,13 +51,14 @@ import '../list/list__separator.js';
47
51
  import '../list/list__hint.js';
48
52
  import '../list/consts.js';
49
53
 
50
- const _ref = Popup.propTypes || {},
51
- popupPropTypes = _objectWithoutProperties(_ref, ["children"]);
54
+ const {
55
+ children,
56
+ ...popupPropTypes
57
+ } = Popup.propTypes || {};
52
58
  /**
53
59
  * @name Popup Menu
54
60
  */
55
61
 
56
-
57
62
  class PopupMenu extends Popup {
58
63
  constructor() {
59
64
  super(...arguments);
@@ -73,9 +78,10 @@ class PopupMenu extends Popup {
73
78
 
74
79
  /** @override */
75
80
  getInternalContent() {
76
- const _this$props = this.props,
77
- props = _objectWithoutProperties(_this$props, ["className"]);
78
-
81
+ const {
82
+ className,
83
+ ...props
84
+ } = this.props;
79
85
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(List, _extends({
80
86
  ref: this.listRef
81
87
  }, props, {
@@ -91,18 +97,19 @@ _defineProperty(PopupMenu, "isItemType", List.isItemType);
91
97
 
92
98
  _defineProperty(PopupMenu, "ListProps", List.ListProps);
93
99
 
94
- _defineProperty(PopupMenu, "propTypes", _objectSpread2(_objectSpread2(_objectSpread2({}, popupPropTypes), List.propTypes), {}, {
100
+ _defineProperty(PopupMenu, "propTypes", { ...popupPropTypes,
101
+ ...List.propTypes,
95
102
  closeOnSelect: PropTypes.bool
96
- }));
103
+ });
97
104
 
98
- _defineProperty(PopupMenu, "defaultProps", _objectSpread2(_objectSpread2(_objectSpread2({}, List.defaultProps), Popup.defaultProps), {}, {
105
+ _defineProperty(PopupMenu, "defaultProps", { ...List.defaultProps,
106
+ ...Popup.defaultProps,
99
107
  renderOptimization: false,
100
108
  closeOnSelect: false
101
- }));
109
+ });
102
110
 
103
111
  const {
104
112
  ListProps
105
113
  } = List;
106
114
 
107
- export default PopupMenu;
108
- export { ListProps };
115
+ export { ListProps, PopupMenu as default };
@@ -1,10 +1,10 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties, b as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
  import Theme from '../global/theme.js';
6
6
 
7
- var modules_fb7af416 = {"unit":"8px","light":"progressBar_light__9afa5539","progressBar":"progressBar_progressBar__9afa5539","dark":"progressBar_dark__9afa5539","line":"progressBar_line__9afa5539","globalMode":"progressBar_globalMode__9afa5539","progress-bar":"progressBar_progressBar__9afa5539"};
7
+ var modules_fb7af416 = {"unit":"8px","light":"light_rui_320b","progressBar":"progressBar_rui_320b","dark":"dark_rui_320b","line":"line_rui_320b","globalMode":"globalMode_rui_320b","progress-bar":"progressBar_rui_320b"};
8
8
 
9
9
  /**
10
10
  * @name Progress Bar
@@ -36,16 +36,15 @@ class ProgressBar extends PureComponent {
36
36
  }
37
37
 
38
38
  render() {
39
- const _this$props = this.props,
40
- {
39
+ const {
41
40
  theme,
42
41
  className,
43
42
  global,
44
43
  max,
45
- value
46
- } = _this$props,
47
- otherProps = _objectWithoutProperties(_this$props, ["theme", "className", "global", "max", "value"]);
48
-
44
+ value,
45
+ label,
46
+ ...otherProps
47
+ } = this.props;
49
48
  const width = value ? `${ProgressBar.toPercent(value, max)}%` : null;
50
49
  const classes = classNames(modules_fb7af416.progressBar, className, {
51
50
  [modules_fb7af416.light]: theme === Theme.LIGHT,
@@ -59,6 +58,7 @@ class ProgressBar extends PureComponent {
59
58
  className: modules_fb7af416.line,
60
59
  ref: this.progressbarRef,
61
60
  role: "progressbar",
61
+ "aria-label": label,
62
62
  "aria-valuenow": value,
63
63
  "aria-valuemin": 0,
64
64
  "aria-valuemax": max,
@@ -71,6 +71,7 @@ class ProgressBar extends PureComponent {
71
71
  }
72
72
 
73
73
  _defineProperty(ProgressBar, "propTypes", {
74
+ label: PropTypes.string,
74
75
  theme: PropTypes.string,
75
76
 
76
77
  /**
@@ -105,7 +106,8 @@ _defineProperty(ProgressBar, "propTypes", {
105
106
  _defineProperty(ProgressBar, "defaultProps", {
106
107
  max: 1.0,
107
108
  value: 0,
108
- theme: Theme.LIGHT
109
+ theme: Theme.LIGHT,
110
+ label: 'Progress'
109
111
  });
110
112
 
111
- export default ProgressBar;
113
+ export { ProgressBar as default };
@@ -0,0 +1,15 @@
1
+ import angularComponentFactory from '../global/angular-component-factory.js';
2
+ import ProgressBar from '../progress-bar/progress-bar.js';
3
+ import '../_helpers/_rollupPluginBabelHelpers.js';
4
+ import 'angular';
5
+ import 'react';
6
+ import 'react-dom';
7
+ import '../global/ring-angular-component.js';
8
+ import '../global/react-dom-renderer.js';
9
+ import 'prop-types';
10
+ import 'classnames';
11
+ import '../global/theme.js';
12
+
13
+ var progressBarNg = angularComponentFactory(ProgressBar, 'ProgressBar').name;
14
+
15
+ export { progressBarNg as default };
@@ -0,0 +1,126 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import angular from 'angular';
3
+ import { m as modules_e81895c9 } from '../_helpers/button__classes.js';
4
+ import { applyMethodToClasses } from '../global/dom.js';
5
+ import RingAngularComponent from '../global/ring-angular-component.js';
6
+ import { LOADER_BACKGROUND_SELECTOR } from '../button-ng/button-ng.js';
7
+ import 'classnames';
8
+ import '../global/theme.js';
9
+ import 'react';
10
+ import '../icon-ng/icon-ng.js';
11
+ import '../icon/icon__constants.js';
12
+ import '../template-ng/template-ng.js';
13
+ import '../_helpers/icon.js';
14
+
15
+ /**
16
+ * @name Promised Click Ng
17
+ */
18
+
19
+ const angularModule = angular.module('Ring.promised-click', []);
20
+ const DEFAULT_MODE = 'active';
21
+
22
+ class PromisedClickController extends RingAngularComponent {
23
+ constructor() {
24
+ super(...arguments);
25
+ const {
26
+ $scope,
27
+ $element,
28
+ $attrs,
29
+ $parse
30
+ } = this.$inject;
31
+ this.element = $element[0];
32
+ this.active = false;
33
+
34
+ if ($attrs.rgPromisedClick) {
35
+ this.onClick(e => $parse($attrs.rgPromisedClick)($scope, {
36
+ event: e
37
+ }));
38
+ }
39
+
40
+ let currentMode = null;
41
+
42
+ this.toggleActive = enable => {
43
+ if (currentMode === 'loader') {
44
+ applyMethodToClasses(enable ? 'add' : 'remove')(this.element.classList, modules_e81895c9.loader);
45
+ const loaderNode = this.element.querySelector(LOADER_BACKGROUND_SELECTOR);
46
+
47
+ if (loaderNode) {
48
+ applyMethodToClasses(enable ? 'add' : 'remove')(this.element.querySelector(LOADER_BACKGROUND_SELECTOR).classList, modules_e81895c9.loaderBackground);
49
+ }
50
+ } else if (currentMode === 'active') {
51
+ applyMethodToClasses(enable ? 'add' : 'remove')(this.element.classList, modules_e81895c9.active);
52
+ }
53
+ };
54
+
55
+ const setModeParams = mode => {
56
+ currentMode = mode;
57
+ };
58
+
59
+ setModeParams($attrs.promisedMode || DEFAULT_MODE);
60
+
61
+ if ($attrs.promisedMode && $attrs.promisedMode.indexOf('{{') !== -1) {
62
+ $attrs.$observe('promisedMode', newMode => {
63
+ if (newMode !== currentMode) {
64
+ this.toggleActive(false);
65
+ setModeParams(newMode);
66
+ }
67
+ });
68
+ }
69
+ }
70
+
71
+ onClick(callback) {
72
+ this.element.addEventListener('click', e => {
73
+ if (this.active) {
74
+ e.preventDefault();
75
+ } else {
76
+ this.process(callback, e);
77
+ }
78
+ });
79
+ }
80
+
81
+ process(callback, e) {
82
+ const {
83
+ $scope
84
+ } = this.$inject;
85
+ this.promise = callback(e);
86
+
87
+ if (this.promise) {
88
+ this.activate();
89
+ } // Do not use $evalAsync here. This code should be invoked in the same animation frame
90
+ // otherwise a button may be "pressed" twice – by click and with class change.
91
+
92
+
93
+ if (!$scope.$root.$$phase) {
94
+ // eslint-disable-line angular/no-private-call
95
+ $scope.$apply();
96
+ }
97
+ }
98
+
99
+ activate() {
100
+ this.active = true;
101
+ this.toggleActive(true);
102
+
103
+ const done = () => {
104
+ this.active = false;
105
+ this.toggleActive(false);
106
+ };
107
+
108
+ this.promise.then(done, done);
109
+ }
110
+
111
+ }
112
+
113
+ PromisedClickController.$inject = [];
114
+
115
+ _defineProperty(PromisedClickController, "$inject", ['$scope', '$element', '$attrs', '$parse']);
116
+
117
+ function rgPromisedClickDirective() {
118
+ return {
119
+ controller: PromisedClickController
120
+ };
121
+ }
122
+
123
+ angularModule.directive('rgPromisedClick', rgPromisedClickDirective);
124
+ var PromisedClick = angularModule.name;
125
+
126
+ export { PromisedClick as default };
@@ -16,4 +16,4 @@ function proxyAttrs(template, attrsWhitelist) {
16
16
  };
17
17
  }
18
18
 
19
- export default proxyAttrs;
19
+ export { proxyAttrs as default };
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import debounce from 'just-debounce-it';
@@ -8,7 +8,7 @@ import searchIcon from '@jetbrains/icons/search';
8
8
  import closeIcon from '@jetbrains/icons/close';
9
9
  import getUID from '../global/get-uid.js';
10
10
  import joinDataTestAttributes from '../global/data-tests.js';
11
- import { getRect, preventDefault } from '../global/dom.js';
11
+ import { preventDefault, getRect } from '../global/dom.js';
12
12
  import Caret from '../caret/caret.js';
13
13
  import ContentEditable from '../contenteditable/contenteditable.js';
14
14
  import PopupMenu from '../popup-menu/popup-menu.js';
@@ -43,16 +43,20 @@ import '../list/list__link.js';
43
43
  import '../link/link.js';
44
44
  import 'focus-visible';
45
45
  import '../link/clickableLink.js';
46
+ import '../_helpers/link.js';
46
47
  import '../_helpers/list.js';
47
48
  import '../list/list__item.js';
48
49
  import '../avatar/avatar.js';
49
50
  import '../global/url.js';
51
+ import '../avatar/fallback-avatar.js';
50
52
  import '../checkbox/checkbox.js';
51
53
  import '@jetbrains/icons/checkmark';
52
54
  import '@jetbrains/icons/remove-10px';
53
55
  import '../icon/icon.js';
54
56
  import '../icon/icon__constants.js';
55
- import '../_helpers/icon__svg.js';
57
+ import '../_helpers/icon.js';
58
+ import '../icon/icon__svg.js';
59
+ import '../_helpers/checkbox.js';
56
60
  import '../list/list__custom.js';
57
61
  import '../global/get-event-key.js';
58
62
  import '../list/list__title.js';
@@ -74,7 +78,7 @@ const ngModelStateField = 'query';
74
78
  function noop() {}
75
79
 
76
80
  function cleanText(text) {
77
- return text.trim().replace(/([\n\r])+/g, ' ');
81
+ return text.replace(/([\n\r])+/g, ' ');
78
82
  }
79
83
  /**
80
84
  * @name Query Assist
@@ -136,6 +140,8 @@ class QueryAssist extends Component {
136
140
 
137
141
  _defineProperty(this, "ngModelStateField", ngModelStateField);
138
142
 
143
+ _defineProperty(this, "historyStack", []);
144
+
139
145
  _defineProperty(this, "handleFocusChange", e => {
140
146
  // otherwise it's blur and false
141
147
  const focus = e.type === 'focus';
@@ -222,7 +228,10 @@ class QueryAssist extends Component {
222
228
 
223
229
  this.immediateState = props;
224
230
  this.props.onChange(props);
225
- this.requestData();
231
+
232
+ if (props.query.length > 0) {
233
+ this.requestData();
234
+ }
226
235
  });
227
236
 
228
237
  _defineProperty(this, "handleEnter", e => {
@@ -253,6 +262,30 @@ class QueryAssist extends Component {
253
262
  return true;
254
263
  });
255
264
 
265
+ _defineProperty(this, "setState", (state, resolve) => {
266
+ super.setState(state, () => {
267
+ this._pushHistory(state);
268
+
269
+ resolve === null || resolve === void 0 ? void 0 : resolve();
270
+ });
271
+ });
272
+
273
+ _defineProperty(this, "undo", e => {
274
+ // eslint-disable-next-line no-unused-vars
275
+ const [current, previous] = this.historyStack.splice(0, 2);
276
+
277
+ if (!previous) {
278
+ return;
279
+ }
280
+
281
+ this.setState({
282
+ query: previous.query
283
+ }, () => {
284
+ this.caret.setPosition(previous.caret);
285
+ this.handleInput(e);
286
+ });
287
+ });
288
+
256
289
  _defineProperty(this, "handlePaste", e => {
257
290
  const INSERT_COMMAND = 'insertText';
258
291
 
@@ -276,48 +309,61 @@ class QueryAssist extends Component {
276
309
  if (!this.props.disabled && (caret !== this.immediateState.caret || popupHidden)) {
277
310
  this.immediateState.caret = caret;
278
311
  this.scrollInput();
279
- this.requestData();
312
+
313
+ if (this.immediateState.query.length > 0) {
314
+ this.requestData();
315
+ }
316
+ }
317
+
318
+ if (this.immediateState.query.length < 1) {
319
+ this.setState({
320
+ showPopup: false
321
+ });
280
322
  }
281
323
  });
282
324
 
283
325
  _defineProperty(this, "handleStyleRangesResponse", _ref => {
284
- let restProps = _objectWithoutProperties(_ref, ["suggestions"]);
285
-
326
+ let {
327
+ suggestions,
328
+ ...restProps
329
+ } = _ref;
286
330
  return this.handleResponse(restProps);
287
331
  });
288
332
 
289
- _defineProperty(this, "handleResponse", _ref2 => {
333
+ _defineProperty(this, "handleResponse", function (_ref2) {
290
334
  let {
291
335
  query = '',
292
336
  caret = 0,
293
337
  styleRanges,
294
338
  suggestions = []
295
339
  } = _ref2;
340
+ let afterCompletion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
296
341
  return new Promise((resolve, reject) => {
297
- if (query === this.getQuery() && (caret === this.immediateState.caret || this.immediateState.caret === undefined)) {
342
+ if (query === _this.getQuery() && (caret === _this.immediateState.caret || _this.immediateState.caret === undefined)) {
298
343
  // Do not setState on unmounted component
299
- if (!this.node) {
344
+ if (!_this.node) {
300
345
  return;
301
346
  }
302
347
 
303
348
  const state = {
304
- dirty: this.immediateState.dirty,
349
+ dirty: _this.immediateState.dirty,
305
350
  loading: false,
306
351
  placeholderEnabled: !query,
307
352
  query,
308
353
  suggestions,
309
- showPopup: !!suggestions.length
354
+ showPopup: !!suggestions.length && !afterCompletion
310
355
  };
311
- this.immediateState.suggestionsQuery = query; // Do not update deep equal styleRanges to simplify shouldComponentUpdate check
356
+ _this.immediateState.suggestionsQuery = query; // Do not update deep equal styleRanges to simplify shouldComponentUpdate check
312
357
 
313
- if (!deepEqual(this.state.styleRanges, styleRanges)) {
358
+ if (!deepEqual(_this.state.styleRanges, styleRanges)) {
314
359
  state.styleRanges = styleRanges;
315
360
  }
316
361
 
317
- this.immediateState.selection = this.caret.getPosition({
362
+ _this.immediateState.selection = _this.caret.getPosition({
318
363
  avoidFocus: true
319
364
  });
320
- this.setState(state, resolve);
365
+
366
+ _this.setState(state, resolve);
321
367
  } else {
322
368
  reject(new Error('Current and response queries mismatch'));
323
369
  }
@@ -381,7 +427,7 @@ class QueryAssist extends Component {
381
427
  }
382
428
 
383
429
  this.closePopup();
384
- this.requestData();
430
+ this.requestData(true);
385
431
  });
386
432
 
387
433
  _defineProperty(this, "requestStyleRanges", () => {
@@ -401,19 +447,21 @@ class QueryAssist extends Component {
401
447
  }).then(this.handleStyleRangesResponse).catch(noop);
402
448
  });
403
449
 
404
- _defineProperty(this, "requestHandler", () => {
405
- if (this.props.disabled) {
450
+ _defineProperty(this, "requestHandler", function () {
451
+ let afterCompletion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
452
+
453
+ if (_this.props.disabled) {
406
454
  return Promise.reject(new Error('QueryAssist(@jetbrains/ring-ui): null exception'));
407
455
  }
408
456
 
409
457
  const {
410
458
  query,
411
459
  caret
412
- } = this.immediateState;
413
- return this.sendRequest({
460
+ } = _this.immediateState;
461
+ return _this.sendRequest({
414
462
  query,
415
463
  caret
416
- }).then(this.handleResponse).catch(noop);
464
+ }).then(data => _this.handleResponse(data, afterCompletion)).catch(noop);
417
465
  });
418
466
 
419
467
  _defineProperty(this, "handleCtrlSpace", e => {
@@ -496,6 +544,7 @@ class QueryAssist extends Component {
496
544
  'ctrl+enter': this.handleComplete,
497
545
  'ctrl+space': this.handleCtrlSpace,
498
546
  tab: this.handleTab,
547
+ 'meta+z': this.undo,
499
548
  right: noop,
500
549
  left: noop,
501
550
  space: noop,
@@ -532,13 +581,15 @@ class QueryAssist extends Component {
532
581
  };
533
582
  this.setupRequestHandler(this.props.delay);
534
583
 
535
- if (this.props.autoOpen) {
584
+ if (this.props.autoOpen && query.length > 0) {
536
585
  this.requestHandler().catch(noop);
537
586
  } else {
538
587
  this.requestStyleRanges().catch(noop);
539
588
  }
540
589
 
541
590
  this.setCaretPosition();
591
+
592
+ this._pushHistory(this.state);
542
593
  }
543
594
 
544
595
  shouldComponentUpdate(props, state) {
@@ -563,7 +614,7 @@ class QueryAssist extends Component {
563
614
  if (typeof query === 'string' && queryChanged && query !== this.immediateState.query) {
564
615
  this.immediateState.query = query;
565
616
 
566
- if (query && prevProps.autoOpen) {
617
+ if (query && prevProps.autoOpen && query.length > 0) {
567
618
  this.requestData();
568
619
  } else if (query) {
569
620
  this.requestStyleRanges();
@@ -602,6 +653,24 @@ class QueryAssist extends Component {
602
653
  return this.props.glass || renderLoader;
603
654
  }
604
655
 
656
+ _pushHistory(state) {
657
+ var _this$historyStack$;
658
+
659
+ const queryIsSet = ('query' in state);
660
+ const queryIsSame = ((_this$historyStack$ = this.historyStack[0]) === null || _this$historyStack$ === void 0 ? void 0 : _this$historyStack$.query) === state.query;
661
+
662
+ if (queryIsSet && !queryIsSame) {
663
+ var _this$caret$getPositi, _this$caret;
664
+
665
+ this.historyStack.unshift({
666
+ query: state.query,
667
+ caret: (_this$caret$getPositi = (_this$caret = this.caret) === null || _this$caret === void 0 ? void 0 : _this$caret.getPosition({
668
+ avoidFocus: true
669
+ })) !== null && _this$caret$getPositi !== void 0 ? _this$caret$getPositi : -1
670
+ });
671
+ }
672
+ }
673
+
605
674
  sendRequest(params) {
606
675
  const value = this.props.dataSource(params);
607
676
  const dataPromise = Promise.resolve(value);
@@ -797,6 +866,7 @@ class QueryAssist extends Component {
797
866
  theme,
798
867
  glass,
799
868
  'data-test': dataTest,
869
+ className,
800
870
  useCustomItemRender
801
871
  } = this.props;
802
872
  const renderPlaceholder = !!this.props.placeholder && this.state.placeholderEnabled;
@@ -814,7 +884,7 @@ class QueryAssist extends Component {
814
884
  });
815
885
  return /*#__PURE__*/React.createElement("div", {
816
886
  "data-test": joinDataTestAttributes('ring-query-assist', dataTest),
817
- className: classNames(modules_da7ab055.queryAssist, modules_da7ab055[theme]),
887
+ className: classNames(className, modules_da7ab055.queryAssist, modules_da7ab055[theme]),
818
888
  role: "presentation",
819
889
  ref: this.nodeRef
820
890
  }, this.state.shortcuts && /*#__PURE__*/React.createElement(Shortcuts, {
@@ -1019,5 +1089,4 @@ _defineProperty(QueryAssist, "Theme", Theme);
1019
1089
 
1020
1090
  const RerenderableQueryAssist = rerenderHOC(QueryAssist);
1021
1091
 
1022
- export default QueryAssist;
1023
- export { RerenderableQueryAssist };
1092
+ export { RerenderableQueryAssist, QueryAssist as default };
@@ -25,16 +25,20 @@ import '../list/list__link.js';
25
25
  import '../link/link.js';
26
26
  import 'focus-visible';
27
27
  import '../link/clickableLink.js';
28
+ import '../_helpers/link.js';
28
29
  import '../_helpers/list.js';
29
30
  import '../list/list__item.js';
30
31
  import '../avatar/avatar.js';
31
32
  import '../global/url.js';
33
+ import '../avatar/fallback-avatar.js';
32
34
  import '../checkbox/checkbox.js';
33
35
  import '@jetbrains/icons/checkmark';
34
36
  import '@jetbrains/icons/remove-10px';
35
37
  import '../icon/icon.js';
36
38
  import '../icon/icon__constants.js';
37
- import '../_helpers/icon__svg.js';
39
+ import '../_helpers/icon.js';
40
+ import '../icon/icon__svg.js';
41
+ import '../_helpers/checkbox.js';
38
42
  import '../list/list__custom.js';
39
43
  import '../global/get-event-key.js';
40
44
  import '../list/list__title.js';
@@ -0,0 +1,82 @@
1
+ import angularComponentFactory from '../global/angular-component-factory.js';
2
+ import QueryAssist from '../query-assist/query-assist.js';
3
+ import '../_helpers/_rollupPluginBabelHelpers.js';
4
+ import 'angular';
5
+ import 'react';
6
+ import 'react-dom';
7
+ import '../global/ring-angular-component.js';
8
+ import '../global/react-dom-renderer.js';
9
+ import 'prop-types';
10
+ import 'just-debounce-it';
11
+ import 'classnames';
12
+ import 'deep-equal';
13
+ import '@jetbrains/icons/search';
14
+ import '@jetbrains/icons/close';
15
+ import '../global/get-uid.js';
16
+ import '../global/data-tests.js';
17
+ import '../global/dom.js';
18
+ import '../caret/caret.js';
19
+ import '../contenteditable/contenteditable.js';
20
+ import 'react-dom/server';
21
+ import '../popup-menu/popup-menu.js';
22
+ import '../popup/popup.js';
23
+ import '../global/schedule-raf.js';
24
+ import '../shortcuts/shortcuts.js';
25
+ import '../shortcuts/core.js';
26
+ import 'combokeys';
27
+ import '../global/sniffer.js';
28
+ import 'sniffr';
29
+ import '../tab-trap/tab-trap.js';
30
+ import '../popup/position.js';
31
+ import '../popup/popup.consts.js';
32
+ import '../popup/popup.target.js';
33
+ import '../list/list.js';
34
+ import 'react-virtualized/dist/es/List';
35
+ import 'react-virtualized/dist/es/AutoSizer';
36
+ import 'react-virtualized/dist/es/WindowScroller';
37
+ import 'react-virtualized/dist/es/CellMeasurer';
38
+ import 'util-deprecate';
39
+ import 'memoize-one';
40
+ import '../global/memoize.js';
41
+ import '../global/create-stateful-context.js';
42
+ import '../list/list__link.js';
43
+ import '../link/link.js';
44
+ import 'focus-visible';
45
+ import '../link/clickableLink.js';
46
+ import '../_helpers/link.js';
47
+ import '../_helpers/list.js';
48
+ import '../list/list__item.js';
49
+ import '../avatar/avatar.js';
50
+ import '../global/url.js';
51
+ import '../avatar/fallback-avatar.js';
52
+ import '../checkbox/checkbox.js';
53
+ import '@jetbrains/icons/checkmark';
54
+ import '@jetbrains/icons/remove-10px';
55
+ import '../icon/icon.js';
56
+ import '../icon/icon__constants.js';
57
+ import '../_helpers/icon.js';
58
+ import '../icon/icon__svg.js';
59
+ import '../_helpers/checkbox.js';
60
+ import '../list/list__custom.js';
61
+ import '../global/get-event-key.js';
62
+ import '../list/list__title.js';
63
+ import '../list/list__separator.js';
64
+ import '../list/list__hint.js';
65
+ import '../list/consts.js';
66
+ import '../loader-inline/loader-inline.js';
67
+ import '../global/theme.js';
68
+ import '../_helpers/inject-styles.js';
69
+ import '../global/conic-gradient.js';
70
+ import 'conic-gradient';
71
+ import '../global/supports-css.js';
72
+ import '../global/inject-styles.js';
73
+ import '../global/radial-gradient-mask.js';
74
+ import '../global/rerender-hoc.js';
75
+ import '../button/button.js';
76
+ import '@jetbrains/icons/chevron-10px';
77
+ import '../_helpers/button__classes.js';
78
+ import '../_helpers/query-assist__suggestions.js';
79
+
80
+ var queryAssistNg = angularComponentFactory(QueryAssist, 'QueryAssist').name;
81
+
82
+ export { queryAssistNg as default };