@jetbrains/ring-ui 4.2.2 → 4.2.5

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 (316) hide show
  1. package/components/select-ng/select-ng__lazy.js +8 -2
  2. package/package.json +2 -2
  3. package/dist/_helpers/_rollupPluginBabelHelpers.js +0 -34
  4. package/dist/_helpers/anchor.js +0 -33
  5. package/dist/_helpers/badge.js +0 -3
  6. package/dist/_helpers/button-group.js +0 -3
  7. package/dist/_helpers/button-set.js +0 -3
  8. package/dist/_helpers/button-toolbar.js +0 -3
  9. package/dist/_helpers/button__classes.js +0 -39
  10. package/dist/_helpers/card.js +0 -75
  11. package/dist/_helpers/checkbox.js +0 -3
  12. package/dist/_helpers/date-picker.js +0 -3
  13. package/dist/_helpers/dialog__body-scroll-preventer.js +0 -58
  14. package/dist/_helpers/error-message.js +0 -3
  15. package/dist/_helpers/footer.js +0 -121
  16. package/dist/_helpers/grid.js +0 -3
  17. package/dist/_helpers/group.js +0 -3
  18. package/dist/_helpers/header.js +0 -3
  19. package/dist/_helpers/icon.js +0 -3
  20. package/dist/_helpers/inject-styles.js +0 -22
  21. package/dist/_helpers/input.js +0 -3
  22. package/dist/_helpers/island.js +0 -3
  23. package/dist/_helpers/link.js +0 -3
  24. package/dist/_helpers/list.js +0 -3
  25. package/dist/_helpers/loader-screen.js +0 -3
  26. package/dist/_helpers/panel.js +0 -3
  27. package/dist/_helpers/query-assist__suggestions.js +0 -95
  28. package/dist/_helpers/radio.js +0 -3
  29. package/dist/_helpers/select__filter.js +0 -77
  30. package/dist/_helpers/services-link.js +0 -40
  31. package/dist/_helpers/sidebar.js +0 -126
  32. package/dist/_helpers/table.js +0 -3
  33. package/dist/_helpers/tabs.js +0 -3
  34. package/dist/_helpers/title.js +0 -100
  35. package/dist/alert/alert.js +0 -262
  36. package/dist/alert/container.js +0 -48
  37. package/dist/alert-service/alert-service.js +0 -173
  38. package/dist/analytics/analytics.js +0 -118
  39. package/dist/analytics/analytics__custom-plugin.js +0 -128
  40. package/dist/analytics/analytics__fus-plugin.js +0 -102
  41. package/dist/analytics/analytics__ga-plugin.js +0 -75
  42. package/dist/analytics/analytics__plugin-utils.js +0 -80
  43. package/dist/analytics-ng/analytics-ng.js +0 -95
  44. package/dist/auth/auth.js +0 -96
  45. package/dist/auth/auth__core.js +0 -1059
  46. package/dist/auth/background-flow.js +0 -123
  47. package/dist/auth/down-notification.js +0 -117
  48. package/dist/auth/iframe-flow.js +0 -153
  49. package/dist/auth/landing-entry.js +0 -5
  50. package/dist/auth/landing.js +0 -90
  51. package/dist/auth/request-builder.js +0 -76
  52. package/dist/auth/response-parser.js +0 -118
  53. package/dist/auth/storage.js +0 -283
  54. package/dist/auth/token-validator.js +0 -178
  55. package/dist/auth/window-flow.js +0 -134
  56. package/dist/auth-dialog/auth-dialog.js +0 -180
  57. package/dist/auth-dialog-service/auth-dialog-service.js +0 -71
  58. package/dist/auth-ng/auth-ng.js +0 -206
  59. package/dist/auth-ng/auth-ng.mock.js +0 -33
  60. package/dist/autofocus-ng/autofocus-ng.js +0 -51
  61. package/dist/avatar/avatar-example-datauri.js +0 -4
  62. package/dist/avatar/avatar.js +0 -163
  63. package/dist/avatar/fallback-avatar.js +0 -142
  64. package/dist/avatar-editor-ng/avatar-editor-ng.js +0 -167
  65. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +0 -3
  66. package/dist/avatar-ng/avatar-ng.js +0 -21
  67. package/dist/badge/badge.js +0 -51
  68. package/dist/badge-ng/badge-ng.js +0 -18
  69. package/dist/breadcrumb-ng/breadcrumb-ng.js +0 -37
  70. package/dist/button/button.js +0 -125
  71. package/dist/button/button__classes.js +0 -5
  72. package/dist/button-group/button-group.js +0 -30
  73. package/dist/button-group/caption.js +0 -24
  74. package/dist/button-group-ng/button-group-ng.js +0 -39
  75. package/dist/button-ng/button-ng.js +0 -217
  76. package/dist/button-set/button-set.js +0 -26
  77. package/dist/button-set-ng/button-set-ng.js +0 -19
  78. package/dist/button-toolbar/button-toolbar.js +0 -29
  79. package/dist/button-toolbar-ng/button-toolbar-ng.js +0 -24
  80. package/dist/caret/caret.js +0 -266
  81. package/dist/checkbox/checkbox.js +0 -110
  82. package/dist/checkbox-ng/checkbox-ng.js +0 -38
  83. package/dist/code/code.js +0 -137
  84. package/dist/compiler-ng/compiler-ng.js +0 -53
  85. package/dist/confirm/confirm.js +0 -127
  86. package/dist/confirm-ng/confirm-ng.js +0 -69
  87. package/dist/confirm-service/confirm-service.js +0 -117
  88. package/dist/content-layout/content-layout.js +0 -66
  89. package/dist/content-layout/sidebar.js +0 -7
  90. package/dist/contenteditable/contenteditable.js +0 -78
  91. package/dist/data-list/data-list.js +0 -208
  92. package/dist/data-list/data-list.mock.js +0 -191
  93. package/dist/data-list/item.js +0 -229
  94. package/dist/data-list/selection.js +0 -102
  95. package/dist/data-list/title.js +0 -20
  96. package/dist/data-list-ng/data-list-ng.js +0 -62
  97. package/dist/date-picker/consts.js +0 -69
  98. package/dist/date-picker/date-input.js +0 -175
  99. package/dist/date-picker/date-picker.js +0 -367
  100. package/dist/date-picker/date-popup.js +0 -483
  101. package/dist/date-picker/day.js +0 -120
  102. package/dist/date-picker/formats.js +0 -3
  103. package/dist/date-picker/month-names.js +0 -100
  104. package/dist/date-picker/month-slider.js +0 -84
  105. package/dist/date-picker/month.js +0 -55
  106. package/dist/date-picker/months.js +0 -122
  107. package/dist/date-picker/weekdays.js +0 -32
  108. package/dist/date-picker/years.js +0 -110
  109. package/dist/dialog/dialog.js +0 -202
  110. package/dist/dialog/dialog__body-scroll-preventer.js +0 -3
  111. package/dist/dialog-ng/dialog-ng.js +0 -604
  112. package/dist/dialog-ng/dialog-ng__template.js +0 -3
  113. package/dist/docked-panel-ng/docked-panel-ng.js +0 -171
  114. package/dist/dropdown/anchor.js +0 -19
  115. package/dist/dropdown/dropdown.js +0 -236
  116. package/dist/dropdown-menu/dropdown-menu.js +0 -177
  117. package/dist/error-bubble/error-bubble.js +0 -59
  118. package/dist/error-message/error-message.js +0 -57
  119. package/dist/error-message-ng/error-message-ng.js +0 -35
  120. package/dist/footer/footer.js +0 -12
  121. package/dist/footer-ng/footer-ng.js +0 -64
  122. package/dist/form-ng/form-ng.js +0 -167
  123. package/dist/global/angular-component-factory.js +0 -84
  124. package/dist/global/compose.js +0 -9
  125. package/dist/global/composeRefs.js +0 -15
  126. package/dist/global/conic-gradient.js +0 -35
  127. package/dist/global/create-stateful-context.js +0 -55
  128. package/dist/global/data-tests.js +0 -24
  129. package/dist/global/dom.js +0 -125
  130. package/dist/global/focus-sensor-hoc.js +0 -146
  131. package/dist/global/fuzzy-highlight.js +0 -67
  132. package/dist/global/get-event-key.js +0 -111
  133. package/dist/global/get-uid.js +0 -15
  134. package/dist/global/inject-styles.js +0 -15
  135. package/dist/global/linear-function.js +0 -17
  136. package/dist/global/listeners.js +0 -44
  137. package/dist/global/memoize.js +0 -20
  138. package/dist/global/normalize-indent.js +0 -30
  139. package/dist/global/promise-with-timeout.js +0 -17
  140. package/dist/global/radial-gradient-mask.js +0 -38
  141. package/dist/global/react-dom-renderer.js +0 -46
  142. package/dist/global/react-render-adapter.js +0 -41
  143. package/dist/global/rerender-hoc.js +0 -55
  144. package/dist/global/ring-angular-component.js +0 -24
  145. package/dist/global/schedule-raf.js +0 -31
  146. package/dist/global/sniffer.js +0 -6
  147. package/dist/global/supports-css.js +0 -22
  148. package/dist/global/theme.js +0 -54
  149. package/dist/global/trivial-template-tag.js +0 -17
  150. package/dist/global/url.js +0 -165
  151. package/dist/global/variables_dark.js +0 -57
  152. package/dist/grid/col.js +0 -60
  153. package/dist/grid/grid.js +0 -33
  154. package/dist/grid/row.js +0 -64
  155. package/dist/group/group.js +0 -31
  156. package/dist/group-ng/group-ng.js +0 -11
  157. package/dist/header/header.js +0 -150
  158. package/dist/header/logo.js +0 -40
  159. package/dist/header/profile.js +0 -219
  160. package/dist/header/services-link.js +0 -12
  161. package/dist/header/services.js +0 -138
  162. package/dist/header/smart-profile.js +0 -233
  163. package/dist/header/smart-services.js +0 -163
  164. package/dist/header/tray-icon.js +0 -47
  165. package/dist/header/tray.js +0 -31
  166. package/dist/heading/heading.js +0 -73
  167. package/dist/http/http.js +0 -218
  168. package/dist/http/http.mock.js +0 -67
  169. package/dist/hub-source/hub-source.js +0 -130
  170. package/dist/hub-source/hub-source__user.js +0 -30
  171. package/dist/hub-source/hub-source__users-groups.js +0 -63
  172. package/dist/icon/icon.js +0 -105
  173. package/dist/icon/icon__constants.js +0 -33
  174. package/dist/icon/icon__svg.js +0 -83
  175. package/dist/icon/index.js +0 -12
  176. package/dist/icon-ng/icon-ng.js +0 -91
  177. package/dist/input/input.js +0 -230
  178. package/dist/input-ng/input-ng.js +0 -111
  179. package/dist/island/adaptive-island-hoc.js +0 -48
  180. package/dist/island/content.js +0 -160
  181. package/dist/island/header.js +0 -84
  182. package/dist/island/island.js +0 -51
  183. package/dist/island-legacy/content-legacy.js +0 -26
  184. package/dist/island-legacy/header-legacy.js +0 -28
  185. package/dist/island-legacy/island-legacy.js +0 -28
  186. package/dist/island-ng/island-content-ng.js +0 -42
  187. package/dist/island-ng/island-header-ng.js +0 -26
  188. package/dist/island-ng/island-ng-class-fixer.js +0 -11
  189. package/dist/island-ng/island-ng.js +0 -25
  190. package/dist/link/clickableLink.js +0 -64
  191. package/dist/link/link.js +0 -115
  192. package/dist/link-ng/link-ng.js +0 -22
  193. package/dist/list/consts.js +0 -26
  194. package/dist/list/list.js +0 -818
  195. package/dist/list/list__custom.js +0 -86
  196. package/dist/list/list__hint.js +0 -26
  197. package/dist/list/list__item.js +0 -206
  198. package/dist/list/list__link.js +0 -65
  199. package/dist/list/list__separator.js +0 -30
  200. package/dist/list/list__title.js +0 -39
  201. package/dist/list/list__users-groups-source.js +0 -130
  202. package/dist/loader/loader.js +0 -71
  203. package/dist/loader/loader__core.js +0 -273
  204. package/dist/loader-inline/inject-styles.js +0 -13
  205. package/dist/loader-inline/loader-inline.js +0 -58
  206. package/dist/loader-inline-ng/loader-inline-ng.js +0 -44
  207. package/dist/loader-ng/loader-ng.js +0 -44
  208. package/dist/loader-screen/loader-screen.js +0 -44
  209. package/dist/loader-screen-ng/loader-screen-ng.js +0 -95
  210. package/dist/login-dialog/login-dialog.js +0 -188
  211. package/dist/login-dialog/service.js +0 -72
  212. package/dist/markdown/code.js +0 -31
  213. package/dist/markdown/heading.js +0 -23
  214. package/dist/markdown/link.js +0 -31
  215. package/dist/markdown/markdown.js +0 -74
  216. package/dist/message/message.js +0 -235
  217. package/dist/message-bundle-ng/message-bundle-ng.js +0 -111
  218. package/dist/old-browsers-message/old-browsers-message.js +0 -101
  219. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -5
  220. package/dist/old-browsers-message/white-list.js +0 -34
  221. package/dist/pager/pager.js +0 -365
  222. package/dist/pager-ng/pager-ng.js +0 -100
  223. package/dist/panel/panel.js +0 -31
  224. package/dist/panel-ng/panel-ng.js +0 -17
  225. package/dist/permissions/permissions.js +0 -200
  226. package/dist/permissions/permissions__cache.js +0 -272
  227. package/dist/permissions-ng/permissions-ng.js +0 -277
  228. package/dist/place-under-ng/place-under-ng.js +0 -158
  229. package/dist/popup/popup.consts.js +0 -41
  230. package/dist/popup/popup.js +0 -396
  231. package/dist/popup/popup.target.js +0 -26
  232. package/dist/popup/position.js +0 -280
  233. package/dist/popup-menu/popup-menu.js +0 -117
  234. package/dist/progress-bar/progress-bar.js +0 -114
  235. package/dist/progress-bar-ng/progress-bar-ng.js +0 -17
  236. package/dist/promised-click-ng/promised-click-ng.js +0 -128
  237. package/dist/proxy-attrs/proxy-attrs.js +0 -21
  238. package/dist/query-assist/query-assist.js +0 -1096
  239. package/dist/query-assist/query-assist__suggestions.js +0 -49
  240. package/dist/query-assist-ng/query-assist-ng.js +0 -86
  241. package/dist/radio/radio.js +0 -42
  242. package/dist/radio/radio__item.js +0 -78
  243. package/dist/radio-ng/radio-ng.js +0 -47
  244. package/dist/save-field-ng/save-field-ng.js +0 -337
  245. package/dist/save-field-ng/save-field-ng__template.js +0 -3
  246. package/dist/select/select.js +0 -1357
  247. package/dist/select/select__filter.js +0 -56
  248. package/dist/select/select__popup.js +0 -553
  249. package/dist/select-ng/select-ng.js +0 -637
  250. package/dist/select-ng/select-ng__lazy.js +0 -159
  251. package/dist/select-ng/select-ng__options.js +0 -145
  252. package/dist/shortcuts/core.js +0 -245
  253. package/dist/shortcuts/shortcut-title.js +0 -51
  254. package/dist/shortcuts/shortcuts-hoc.js +0 -42
  255. package/dist/shortcuts/shortcuts.js +0 -72
  256. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -123
  257. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +0 -3
  258. package/dist/shortcuts-ng/shortcuts-ng.js +0 -262
  259. package/dist/sidebar-ng/sidebar-ng.js +0 -113
  260. package/dist/sidebar-ng/sidebar-ng__button-template.js +0 -3
  261. package/dist/sidebar-ng/sidebar-ng__template.js +0 -3
  262. package/dist/storage/storage.js +0 -59
  263. package/dist/storage/storage__fallback.js +0 -215
  264. package/dist/storage/storage__local.js +0 -154
  265. package/dist/style.css +0 -1
  266. package/dist/tab-trap/tab-trap.js +0 -177
  267. package/dist/table/cell.js +0 -26
  268. package/dist/table/disable-hover-hoc.js +0 -54
  269. package/dist/table/header-cell.js +0 -92
  270. package/dist/table/header.js +0 -193
  271. package/dist/table/multitable.js +0 -141
  272. package/dist/table/row-with-focus-sensor.js +0 -83
  273. package/dist/table/row.js +0 -273
  274. package/dist/table/selection-adapter.js +0 -16
  275. package/dist/table/selection-shortcuts-hoc.js +0 -215
  276. package/dist/table/selection.js +0 -223
  277. package/dist/table/smart-table.js +0 -125
  278. package/dist/table/table.js +0 -406
  279. package/dist/table-legacy-ng/table-legacy-ng.js +0 -468
  280. package/dist/table-legacy-ng/table-legacy-ng__pager.js +0 -120
  281. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +0 -123
  282. package/dist/table-legacy-ng/table-legacy-ng__selection.js +0 -179
  283. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +0 -57
  284. package/dist/table-ng/smart-table-ng.js +0 -68
  285. package/dist/table-ng/table-ng.js +0 -67
  286. package/dist/tabs/collapsible-more.js +0 -198
  287. package/dist/tabs/collapsible-tab.js +0 -91
  288. package/dist/tabs/collapsible-tabs.js +0 -362
  289. package/dist/tabs/custom-item.js +0 -13
  290. package/dist/tabs/dumb-tabs.js +0 -164
  291. package/dist/tabs/smart-tabs.js +0 -106
  292. package/dist/tabs/tab-link.js +0 -42
  293. package/dist/tabs/tab.js +0 -33
  294. package/dist/tabs/tabs.js +0 -71
  295. package/dist/tabs-ng/tabs-ng.js +0 -194
  296. package/dist/tabs-ng/tabs-ng__template.js +0 -3
  297. package/dist/tag/tag.js +0 -197
  298. package/dist/tags-input/tags-input.js +0 -482
  299. package/dist/tags-input-ng/tags-input-ng.js +0 -93
  300. package/dist/tags-list/tags-list.js +0 -95
  301. package/dist/template-ng/template-ng.js +0 -71
  302. package/dist/text/text.js +0 -36
  303. package/dist/theme-ng/theme-ng.js +0 -45
  304. package/dist/title-ng/title-ng.js +0 -114
  305. package/dist/toggle/toggle.js +0 -78
  306. package/dist/toggle-ng/toggle-ng.js +0 -18
  307. package/dist/tooltip/tooltip.js +0 -209
  308. package/dist/tooltip-ng/tooltip-ng.js +0 -104
  309. package/dist/user-agreement/service.js +0 -412
  310. package/dist/user-agreement/toolbox.eula.js +0 -3
  311. package/dist/user-agreement/user-agreement.js +0 -169
  312. package/dist/user-card/card.js +0 -19
  313. package/dist/user-card/smart-user-card-tooltip.js +0 -114
  314. package/dist/user-card/tooltip.js +0 -95
  315. package/dist/user-card/user-card.js +0 -51
  316. package/dist/user-card-ng/user-card-ng.js +0 -62
@@ -1,482 +0,0 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
- import React, { Component, PureComponent } from 'react';
4
- import PropTypes from 'prop-types';
5
- import classNames from 'classnames';
6
- import getEventKey from '../global/get-event-key.js';
7
- import Select from '../select/select.js';
8
- import TagsList from '../tags-list/tags-list.js';
9
- import Caret from '../caret/caret.js';
10
- import memoize from '../global/memoize.js';
11
- import rerenderHOC from '../global/rerender-hoc.js';
12
- import 'core-js/modules/es.string.replace.js';
13
- import '@jetbrains/icons/chevron-10px';
14
- import '@jetbrains/icons/close';
15
- import 'deep-equal';
16
- import '../dropdown/dropdown.js';
17
- import '../global/data-tests.js';
18
- import '../_helpers/anchor.js';
19
- import '../icon/icon.js';
20
- import 'util-deprecate';
21
- import '../icon/icon__constants.js';
22
- import '../_helpers/icon.js';
23
- import '../icon/icon__svg.js';
24
- import '../button/button.js';
25
- import 'focus-visible';
26
- import '../global/theme.js';
27
- import '../link/clickableLink.js';
28
- import '../_helpers/button__classes.js';
29
- import '../avatar/avatar.js';
30
- import '../global/url.js';
31
- import '../global/dom.js';
32
- import '../avatar/fallback-avatar.js';
33
- import '../global/get-uid.js';
34
- import '../popup/popup.js';
35
- import 'react-dom';
36
- import '../global/schedule-raf.js';
37
- import '../shortcuts/shortcuts.js';
38
- import '../shortcuts/core.js';
39
- import 'combokeys';
40
- import '../global/sniffer.js';
41
- import 'sniffr';
42
- import '../tab-trap/tab-trap.js';
43
- import '../popup/position.js';
44
- import '../popup/popup.consts.js';
45
- import '../popup/popup.target.js';
46
- import '../list/list.js';
47
- import 'react-virtualized/dist/es/List';
48
- import 'react-virtualized/dist/es/AutoSizer';
49
- import 'react-virtualized/dist/es/WindowScroller';
50
- import 'react-virtualized/dist/es/CellMeasurer';
51
- import 'memoize-one';
52
- import '../global/create-stateful-context.js';
53
- import '../list/list__link.js';
54
- import '../link/link.js';
55
- import '../_helpers/link.js';
56
- import '../_helpers/list.js';
57
- import '../list/list__item.js';
58
- import '../checkbox/checkbox.js';
59
- import '@jetbrains/icons/checkmark';
60
- import '@jetbrains/icons/remove-10px';
61
- import '../_helpers/checkbox.js';
62
- import '../list/list__custom.js';
63
- import '../list/list__title.js';
64
- import '../list/list__separator.js';
65
- import '../list/list__hint.js';
66
- import '../list/consts.js';
67
- import '../input/input.js';
68
- import '../_helpers/input.js';
69
- import '../global/fuzzy-highlight.js';
70
- import '../select/select__popup.js';
71
- import '@jetbrains/icons/search';
72
- import '../loader-inline/loader-inline.js';
73
- import '../_helpers/inject-styles.js';
74
- import '../global/conic-gradient.js';
75
- import 'conic-gradient';
76
- import '../global/supports-css.js';
77
- import '../global/inject-styles.js';
78
- import '../global/radial-gradient-mask.js';
79
- import '../shortcuts/shortcuts-hoc.js';
80
- import '../text/text.js';
81
- import '../_helpers/select__filter.js';
82
- import '../tag/tag.js';
83
- import '../global/react-render-adapter.js';
84
- import '../global/composeRefs.js';
85
-
86
- var modules_5aa8aaf3 = {"tagsInput":"tagsInput_rui_1a67","tagsInputLegacyMode":"tagsInputLegacyMode_rui_1a67","tagsList":"tagsList_rui_1a67","tag":"tag_rui_1a67","tagsInputDisabled":"tagsInputDisabled_rui_1a67","underline":"underline_rui_1a67","tagsInputFocused":"tagsInputFocused_rui_1a67","tagsSelect":"tagsSelect_rui_1a67","focusUnderline":"focusUnderline_rui_1a67"};
87
-
88
- function noop() {}
89
- /**
90
- * @name Tags Input
91
- */
92
-
93
-
94
- const POPUP_VERTICAL_SHIFT = 2;
95
- class TagsInput extends PureComponent {
96
- constructor(props) {
97
- var _this;
98
-
99
- super(props);
100
- _this = this;
101
-
102
- _defineProperty(this, "state", {
103
- tags: [],
104
- prevTags: null,
105
- suggestions: [],
106
- loading: true,
107
- focused: false,
108
- query: '',
109
- activeIndex: 0
110
- });
111
-
112
- _defineProperty(this, "nodeRef", node => {
113
- this.node = node;
114
- });
115
-
116
- _defineProperty(this, "focusInput", () => {
117
- this.getInputNode().focus();
118
- });
119
-
120
- _defineProperty(this, "addTag", tag => {
121
- const isUniqueTag = this.state.tags.filter(item => tag.key === item.key).length === 0;
122
- this.select.clear();
123
- this.select.filterValue('');
124
-
125
- if (isUniqueTag) {
126
- this.setState(prevState => ({
127
- tags: prevState.tags.concat([tag])
128
- }));
129
- this.props.onAddTag({
130
- tag
131
- });
132
- this.setActiveIndex();
133
- }
134
- });
135
-
136
- _defineProperty(this, "clickHandler", event => {
137
- if (event.target !== this.node) {
138
- return;
139
- }
140
-
141
- this.loadSuggestions(this.getInputNode().value);
142
- this.focusInput();
143
- });
144
-
145
- _defineProperty(this, "filterExistingTags", suggestions => {
146
- const tagsMap = new Map(this.state.tags.map(tag => [tag.key, tag]));
147
- return suggestions.filter(suggestion => !tagsMap.has(suggestion.key));
148
- });
149
-
150
- _defineProperty(this, "loadSuggestions", function () {
151
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
152
- return _this.setState({
153
- loading: true,
154
- query
155
- }, async () => {
156
- try {
157
- let allSuggestions = _this.props.dataSource({
158
- query
159
- });
160
-
161
- if (typeof allSuggestions.then === 'function') {
162
- allSuggestions = await allSuggestions;
163
- }
164
-
165
- const suggestions = _this.filterExistingTags(allSuggestions);
166
-
167
- if (_this.node && query === _this.state.query) {
168
- _this.setState({
169
- suggestions,
170
- loading: false
171
- });
172
- }
173
- } catch (e) {
174
- _this.setState({
175
- loading: false
176
- });
177
- }
178
- });
179
- });
180
-
181
- _defineProperty(this, "_focusHandler", () => {
182
- this.setActiveIndex(null);
183
- this.setState({
184
- focused: true
185
- });
186
- });
187
-
188
- _defineProperty(this, "_blurHandler", () => {
189
- this.setState({
190
- focused: false
191
- });
192
- });
193
-
194
- _defineProperty(this, "selectTag", moveForward => {
195
- const activeIndex = typeof this.state.activeIndex === 'number' ? this.state.activeIndex : this.state.tags.length + 1;
196
- let newActiveIndex = activeIndex + (moveForward ? 1 : -1);
197
-
198
- if (newActiveIndex >= this.state.tags.length) {
199
- newActiveIndex = this.state.tags.length - 1;
200
- } else if (newActiveIndex < 0) {
201
- newActiveIndex = 0;
202
- }
203
-
204
- if (this.state.activeIndex !== newActiveIndex) {
205
- this.setActiveIndex(newActiveIndex);
206
- }
207
- });
208
-
209
- _defineProperty(this, "handleKeyDown", event => {
210
- const key = getEventKey(event);
211
-
212
- const isInputFocused = () => event.target.matches(this.getInputNode().tagName);
213
-
214
- if (key === ' ' && this.props.allowAddNewTags) {
215
- event.stopPropagation();
216
- const value = this.getInputNode().value;
217
-
218
- if (value !== '') {
219
- this.handleTagCreation(value);
220
- }
221
-
222
- return true;
223
- }
224
-
225
- if (this.select._popup.isVisible()) {
226
- return true;
227
- }
228
-
229
- if (key === 'ArrowLeft') {
230
- if (this.getInputNode() && this.caret.getPosition() > 0) {
231
- return true;
232
- }
233
-
234
- this.selectTag();
235
- return false;
236
- }
237
-
238
- if (key === 'ArrowRight' && !isInputFocused()) {
239
- if (this.state.activeIndex === this.state.tags.length - 1) {
240
- if (!this.props.disabled) {
241
- this.getInputNode().focus();
242
- this.setActiveIndex();
243
- }
244
- } else {
245
- this.selectTag(true);
246
- }
247
-
248
- return false;
249
- }
250
-
251
- if (!this.props.disabled) {
252
- if (key === 'Backspace' && !this.getInputNode().value) {
253
- event.preventDefault();
254
- const tagsLength = this.state.tags.length;
255
-
256
- this.select._hidePopup(true); // otherwise confirmation may be overlapped by popup
257
-
258
-
259
- this.onRemoveTag(this.state.tags[tagsLength - 1]);
260
- return false;
261
- }
262
-
263
- if ((key === 'Delete' || key === 'Backspace') && this.state.tags[this.state.activeIndex]) {
264
- this.onRemoveTag(this.state.tags[this.state.activeIndex]).then(() => this.selectTag(true));
265
- return false;
266
- }
267
- }
268
-
269
- return true;
270
- });
271
-
272
- _defineProperty(this, "handleClick", memoize(tag => () => {
273
- this.setActiveIndex(this.state.tags.indexOf(tag));
274
- }));
275
-
276
- _defineProperty(this, "handleRemove", memoize(tag => () => this.onRemoveTag(tag)));
277
-
278
- _defineProperty(this, "handleTagCreation", label => {
279
- this.addTag({
280
- key: label,
281
- label
282
- });
283
- });
284
-
285
- _defineProperty(this, "selectRef", el => {
286
- this.select = el;
287
- });
288
-
289
- this.ngModelStateField = TagsInput.ngModelStateField;
290
- }
291
-
292
- static getDerivedStateFromProps(_ref, _ref2) {
293
- let {
294
- tags
295
- } = _ref;
296
- let {
297
- prevTags
298
- } = _ref2;
299
- const nextState = {
300
- prevTags: tags
301
- };
302
-
303
- if (tags != null && tags !== prevTags) {
304
- Object.assign(nextState, {
305
- tags,
306
- activeIndex: tags.length
307
- });
308
- }
309
-
310
- return nextState;
311
- }
312
-
313
- componentDidMount() {
314
- if (this.props.autoOpen && !this.props.disabled) {
315
- this.focusInput();
316
- this.loadSuggestions();
317
-
318
- this.select._showPopup();
319
- }
320
- }
321
-
322
- getInputNode() {
323
- if (!this.input) {
324
- this.input = this.select.filter;
325
- this.caret = new Caret(this.input);
326
- }
327
-
328
- return this.input;
329
- }
330
-
331
- setActiveIndex(activeIndex) {
332
- this.setState({
333
- activeIndex
334
- });
335
- }
336
-
337
- onRemoveTag(tagToRemove) {
338
- return Promise.resolve(this.props.onRemoveTag({
339
- tag: tagToRemove
340
- })).then(() => {
341
- const tags = this.state.tags.filter(tag => tag !== tagToRemove);
342
-
343
- if (this.node) {
344
- this.setState({
345
- tags
346
- });
347
- this.focusInput();
348
- }
349
-
350
- return tags;
351
- }, this.focusInput);
352
- }
353
-
354
- render() {
355
- const {
356
- focused,
357
- tags,
358
- activeIndex
359
- } = this.state;
360
- const {
361
- legacyMode,
362
- disabled,
363
- canNotBeEmpty,
364
- allowAddNewTags,
365
- filter
366
- } = this.props;
367
- const classes = classNames(modules_5aa8aaf3.tagsInput, {
368
- [modules_5aa8aaf3.tagsInputDisabled]: disabled,
369
- [modules_5aa8aaf3.tagsInputFocused]: focused,
370
- [modules_5aa8aaf3.tagsInputLegacyMode]: legacyMode
371
- }, this.props.className);
372
- return /*#__PURE__*/React.createElement("div", {
373
- // it transfers focus to input
374
- role: "presentation",
375
- className: classes,
376
- onKeyDown: this.handleKeyDown,
377
- onClick: this.clickHandler,
378
- ref: this.nodeRef
379
- }, /*#__PURE__*/React.createElement(TagsList, {
380
- tags: tags,
381
- activeIndex: activeIndex,
382
- disabled: disabled,
383
- canNotBeEmpty: canNotBeEmpty,
384
- handleRemove: this.handleRemove,
385
- className: modules_5aa8aaf3.tagsList,
386
- tagClassName: modules_5aa8aaf3.tag,
387
- handleClick: this.handleClick
388
- }, /*#__PURE__*/React.createElement(Select, {
389
- ref: this.selectRef,
390
- size: Select.Size.AUTO,
391
- type: Select.Type.INPUT_WITHOUT_CONTROLS,
392
- inputPlaceholder: this.props.placeholder,
393
- data: this.state.suggestions,
394
- className: classNames(modules_5aa8aaf3.tagsSelect),
395
- onSelect: this.addTag,
396
- onFocus: this._focusHandler,
397
- onBlur: this._blurHandler,
398
- renderOptimization: this.props.renderOptimization,
399
- add: allowAddNewTags ? {
400
- prefix: 'Add new tag'
401
- } : undefined,
402
- onAdd: allowAddNewTags ? this.handleTagCreation : undefined,
403
- filter: filter,
404
- maxHeight: this.props.maxPopupHeight,
405
- minWidth: this.props.minPopupWidth,
406
- top: POPUP_VERTICAL_SHIFT,
407
- loading: this.state.loading,
408
- onFilter: this.loadSuggestions,
409
- onBeforeOpen: this.loadSuggestions,
410
- onKeyDown: this.handleKeyDown,
411
- disabled: this.props.disabled,
412
- loadingMessage: this.props.loadingMessage,
413
- notFoundMessage: this.props.notFoundMessage
414
- })), !legacyMode && /*#__PURE__*/React.createElement("div", {
415
- className: modules_5aa8aaf3.underline
416
- }), !legacyMode && /*#__PURE__*/React.createElement("div", {
417
- className: modules_5aa8aaf3.focusUnderline
418
- }));
419
- }
420
-
421
- }
422
-
423
- _defineProperty(TagsInput, "propTypes", {
424
- className: PropTypes.string,
425
- tags: PropTypes.array,
426
-
427
- /**
428
- * Datasource should return array(or promise) of suggestions.
429
- * Each suggestion should contain key and label fields.
430
- * DataSource should handle caching and response racing (when later request
431
- * responded earlier) by himself.
432
- */
433
- dataSource: PropTypes.func,
434
- onAddTag: PropTypes.func,
435
- onRemoveTag: PropTypes.func,
436
- customTagComponent: (props, propName, componentName) => {
437
- if (props[propName] && !props[propName].prototype instanceof Component) {
438
- return new Error("Invalid prop ".concat(propName, " supplied to ").concat(componentName, ". Validation failed."));
439
- }
440
-
441
- return null;
442
- },
443
- maxPopupHeight: PropTypes.number,
444
- minPopupWidth: PropTypes.number,
445
- placeholder: PropTypes.string,
446
- canNotBeEmpty: PropTypes.bool,
447
- disabled: PropTypes.bool,
448
- autoOpen: PropTypes.bool,
449
- renderOptimization: PropTypes.bool,
450
- legacyMode: PropTypes.bool,
451
- filter: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({
452
- fn: PropTypes.func
453
- })]),
454
- loadingMessage: PropTypes.string,
455
- notFoundMessage: PropTypes.string,
456
- allowAddNewTags: PropTypes.bool
457
- });
458
-
459
- _defineProperty(TagsInput, "defaultProps", {
460
- dataSource: noop,
461
- onAddTag: noop,
462
- onRemoveTag: noop,
463
- customTagComponent: null,
464
- maxPopupHeight: 500,
465
- minPopupWidth: 360,
466
- canNotBeEmpty: false,
467
- disabled: false,
468
- autoOpen: false,
469
- renderOptimization: true,
470
- legacyMode: false,
471
- allowAddNewTags: false,
472
- filter: {
473
- fn: () => true
474
- },
475
- placeholder: 'Select an option'
476
- });
477
-
478
- _defineProperty(TagsInput, "ngModelStateField", 'tags');
479
-
480
- const RerenderableTagsInput = rerenderHOC(TagsInput);
481
-
482
- export { RerenderableTagsInput, TagsInput as default };
@@ -1,93 +0,0 @@
1
- import angularComponentFactory from '../global/angular-component-factory.js';
2
- import TagsInput from '../tags-input/tags-input.js';
3
- import '../_helpers/_rollupPluginBabelHelpers.js';
4
- import 'core-js/modules/web.dom-collections.iterator.js';
5
- import 'angular';
6
- import 'react';
7
- import '../global/react-render-adapter.js';
8
- import 'react-dom';
9
- import '../global/ring-angular-component.js';
10
- import '../global/react-dom-renderer.js';
11
- import 'prop-types';
12
- import 'classnames';
13
- import '../global/get-event-key.js';
14
- import '../select/select.js';
15
- import 'core-js/modules/es.string.replace.js';
16
- import '@jetbrains/icons/chevron-10px';
17
- import '@jetbrains/icons/close';
18
- import 'deep-equal';
19
- import '../dropdown/dropdown.js';
20
- import '../global/data-tests.js';
21
- import '../_helpers/anchor.js';
22
- import '../icon/icon.js';
23
- import 'util-deprecate';
24
- import '../icon/icon__constants.js';
25
- import '../_helpers/icon.js';
26
- import '../icon/icon__svg.js';
27
- import '../global/memoize.js';
28
- import '../button/button.js';
29
- import 'focus-visible';
30
- import '../global/theme.js';
31
- import '../link/clickableLink.js';
32
- import '../_helpers/button__classes.js';
33
- import '../avatar/avatar.js';
34
- import '../global/url.js';
35
- import '../global/dom.js';
36
- import '../avatar/fallback-avatar.js';
37
- import '../global/get-uid.js';
38
- import '../popup/popup.js';
39
- import '../global/schedule-raf.js';
40
- import '../shortcuts/shortcuts.js';
41
- import '../shortcuts/core.js';
42
- import 'combokeys';
43
- import '../global/sniffer.js';
44
- import 'sniffr';
45
- import '../tab-trap/tab-trap.js';
46
- import '../popup/position.js';
47
- import '../popup/popup.consts.js';
48
- import '../popup/popup.target.js';
49
- import '../list/list.js';
50
- import 'react-virtualized/dist/es/List';
51
- import 'react-virtualized/dist/es/AutoSizer';
52
- import 'react-virtualized/dist/es/WindowScroller';
53
- import 'react-virtualized/dist/es/CellMeasurer';
54
- import 'memoize-one';
55
- import '../global/create-stateful-context.js';
56
- import '../list/list__link.js';
57
- import '../link/link.js';
58
- import '../_helpers/link.js';
59
- import '../_helpers/list.js';
60
- import '../list/list__item.js';
61
- import '../checkbox/checkbox.js';
62
- import '@jetbrains/icons/checkmark';
63
- import '@jetbrains/icons/remove-10px';
64
- import '../_helpers/checkbox.js';
65
- import '../list/list__custom.js';
66
- import '../list/list__title.js';
67
- import '../list/list__separator.js';
68
- import '../list/list__hint.js';
69
- import '../list/consts.js';
70
- import '../input/input.js';
71
- import '../_helpers/input.js';
72
- import '../global/rerender-hoc.js';
73
- import '../global/composeRefs.js';
74
- import '../global/fuzzy-highlight.js';
75
- import '../select/select__popup.js';
76
- import '@jetbrains/icons/search';
77
- import '../loader-inline/loader-inline.js';
78
- import '../_helpers/inject-styles.js';
79
- import '../global/conic-gradient.js';
80
- import 'conic-gradient';
81
- import '../global/supports-css.js';
82
- import '../global/inject-styles.js';
83
- import '../global/radial-gradient-mask.js';
84
- import '../shortcuts/shortcuts-hoc.js';
85
- import '../tags-list/tags-list.js';
86
- import '../tag/tag.js';
87
- import '../caret/caret.js';
88
- import '../text/text.js';
89
- import '../_helpers/select__filter.js';
90
-
91
- var tagsInputNg = angularComponentFactory(TagsInput, 'TagsInput').name;
92
-
93
- export { tagsInputNg as default };
@@ -1,95 +0,0 @@
1
- import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import React, { Component } from 'react';
3
- import PropTypes from 'prop-types';
4
- import classNames from 'classnames';
5
- import Tag from '../tag/tag.js';
6
- import 'core-js/modules/web.dom-collections.iterator.js';
7
- import '@jetbrains/icons/close';
8
- import '../icon/icon.js';
9
- import 'util-deprecate';
10
- import '../icon/icon__constants.js';
11
- import '../_helpers/icon.js';
12
- import '../icon/icon__svg.js';
13
- import 'core-js/modules/es.string.replace.js';
14
- import '../global/memoize.js';
15
- import '../button/button.js';
16
- import 'focus-visible';
17
- import '@jetbrains/icons/chevron-10px';
18
- import '../global/theme.js';
19
- import '../link/clickableLink.js';
20
- import '../_helpers/button__classes.js';
21
-
22
- function noop() {}
23
- /**
24
- * @name Tags List
25
- */
26
-
27
-
28
- class TagsList extends Component {
29
- renderTag(tag, focusTag) {
30
- const TagComponent = this.props.customTagComponent || Tag;
31
- const readOnly = this.props.disabled || tag.readOnly || this.props.canNotBeEmpty && this.props.tags.length === 1;
32
- const {
33
- tagClassName
34
- } = this.props;
35
- return /*#__PURE__*/React.createElement(TagComponent, _extends({}, tag, {
36
- readOnly: readOnly,
37
- disabled: this.props.disabled || tag.disabled,
38
- focused: focusTag,
39
- onClick: this.props.handleClick(tag),
40
- onRemove: this.props.handleRemove(tag),
41
- className: tagClassName
42
- }), tag.label);
43
- }
44
-
45
- render() {
46
- const {
47
- children,
48
- className,
49
- customTagComponent,
50
- canNotBeEmpty,
51
- handleClick,
52
- tagClassName,
53
- handleRemove,
54
- tags,
55
- activeIndex,
56
- ...props
57
- } = this.props;
58
- const classes = classNames('ring-js-shortcuts', className);
59
- const tagsList = (this.props.tags || []).map((tag, index) => this.renderTag(tag, this.props.activeIndex === index));
60
- return /*#__PURE__*/React.createElement("div", _extends({
61
- "data-test": "ring-tags-list",
62
- className: classes
63
- }, props), tagsList, children);
64
- }
65
-
66
- }
67
-
68
- _defineProperty(TagsList, "propTypes", {
69
- children: PropTypes.node,
70
- tags: PropTypes.array,
71
- customTagComponent: (props, propName, componentName) => {
72
- if (props[propName] && !props[propName].prototype instanceof Component) {
73
- return new Error("Invalid prop ".concat(propName, " supplied to ").concat(componentName, ". Validation failed."));
74
- }
75
-
76
- return null;
77
- },
78
- activeIndex: PropTypes.number,
79
- canNotBeEmpty: PropTypes.bool,
80
- disabled: PropTypes.bool,
81
- handleClick: PropTypes.func,
82
- handleRemove: PropTypes.func,
83
- className: PropTypes.string,
84
- tagClassName: PropTypes.string
85
- });
86
-
87
- _defineProperty(TagsList, "defaultProps", {
88
- customTagComponent: null,
89
- canNotBeEmpty: false,
90
- disabled: false,
91
- handleClick: noop,
92
- handleRemove: noop
93
- });
94
-
95
- export { TagsList as default };