@jetbrains/ring-ui 4.2.8 → 4.2.11

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 (318) hide show
  1. package/components/http/http.js +18 -4
  2. package/components/http/http.test.js +14 -0
  3. package/components/pager/pager.js +14 -14
  4. package/dist/_helpers/_rollupPluginBabelHelpers.js +34 -0
  5. package/dist/_helpers/anchor.js +33 -0
  6. package/dist/_helpers/badge.js +3 -0
  7. package/dist/_helpers/button-group.js +3 -0
  8. package/dist/_helpers/button-set.js +3 -0
  9. package/dist/_helpers/button-toolbar.js +3 -0
  10. package/dist/_helpers/button__classes.js +39 -0
  11. package/dist/_helpers/card.js +75 -0
  12. package/dist/_helpers/checkbox.js +3 -0
  13. package/dist/_helpers/date-picker.js +3 -0
  14. package/dist/_helpers/dialog__body-scroll-preventer.js +58 -0
  15. package/dist/_helpers/error-message.js +3 -0
  16. package/dist/_helpers/footer.js +121 -0
  17. package/dist/_helpers/grid.js +3 -0
  18. package/dist/_helpers/group.js +3 -0
  19. package/dist/_helpers/header.js +3 -0
  20. package/dist/_helpers/icon.js +3 -0
  21. package/dist/_helpers/inject-styles.js +22 -0
  22. package/dist/_helpers/input.js +3 -0
  23. package/dist/_helpers/island.js +3 -0
  24. package/dist/_helpers/link.js +3 -0
  25. package/dist/_helpers/list.js +3 -0
  26. package/dist/_helpers/loader-screen.js +3 -0
  27. package/dist/_helpers/panel.js +3 -0
  28. package/dist/_helpers/query-assist__suggestions.js +95 -0
  29. package/dist/_helpers/radio.js +3 -0
  30. package/dist/_helpers/select__filter.js +77 -0
  31. package/dist/_helpers/services-link.js +40 -0
  32. package/dist/_helpers/sidebar.js +126 -0
  33. package/dist/_helpers/table.js +3 -0
  34. package/dist/_helpers/tabs.js +3 -0
  35. package/dist/_helpers/title.js +100 -0
  36. package/dist/alert/alert.js +262 -0
  37. package/dist/alert/container.js +48 -0
  38. package/dist/alert-service/alert-service.js +173 -0
  39. package/dist/analytics/analytics.js +118 -0
  40. package/dist/analytics/analytics__custom-plugin.js +128 -0
  41. package/dist/analytics/analytics__fus-plugin.js +102 -0
  42. package/dist/analytics/analytics__ga-plugin.js +75 -0
  43. package/dist/analytics/analytics__plugin-utils.js +80 -0
  44. package/dist/analytics-ng/analytics-ng.js +95 -0
  45. package/dist/auth/auth.js +96 -0
  46. package/dist/auth/auth__core.js +1065 -0
  47. package/dist/auth/background-flow.js +123 -0
  48. package/dist/auth/down-notification.js +117 -0
  49. package/dist/auth/iframe-flow.js +153 -0
  50. package/dist/auth/landing-entry.js +5 -0
  51. package/dist/auth/landing.js +90 -0
  52. package/dist/auth/request-builder.js +76 -0
  53. package/dist/auth/response-parser.js +118 -0
  54. package/dist/auth/storage.js +283 -0
  55. package/dist/auth/token-validator.js +180 -0
  56. package/dist/auth/window-flow.js +134 -0
  57. package/dist/auth-dialog/auth-dialog.js +180 -0
  58. package/dist/auth-dialog-service/auth-dialog-service.js +71 -0
  59. package/dist/auth-ng/auth-ng.js +206 -0
  60. package/dist/auth-ng/auth-ng.mock.js +33 -0
  61. package/dist/autofocus-ng/autofocus-ng.js +51 -0
  62. package/dist/avatar/avatar-example-datauri.js +4 -0
  63. package/dist/avatar/avatar.js +163 -0
  64. package/dist/avatar/fallback-avatar.js +142 -0
  65. package/dist/avatar-editor-ng/avatar-editor-ng.js +167 -0
  66. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +3 -0
  67. package/dist/avatar-ng/avatar-ng.js +21 -0
  68. package/dist/badge/badge.js +51 -0
  69. package/dist/badge-ng/badge-ng.js +18 -0
  70. package/dist/breadcrumb-ng/breadcrumb-ng.js +37 -0
  71. package/dist/button/button.js +125 -0
  72. package/dist/button/button__classes.js +5 -0
  73. package/dist/button-group/button-group.js +30 -0
  74. package/dist/button-group/caption.js +24 -0
  75. package/dist/button-group-ng/button-group-ng.js +39 -0
  76. package/dist/button-ng/button-ng.js +217 -0
  77. package/dist/button-set/button-set.js +26 -0
  78. package/dist/button-set-ng/button-set-ng.js +19 -0
  79. package/dist/button-toolbar/button-toolbar.js +29 -0
  80. package/dist/button-toolbar-ng/button-toolbar-ng.js +24 -0
  81. package/dist/caret/caret.js +266 -0
  82. package/dist/checkbox/checkbox.js +110 -0
  83. package/dist/checkbox-ng/checkbox-ng.js +38 -0
  84. package/dist/code/code.js +137 -0
  85. package/dist/compiler-ng/compiler-ng.js +53 -0
  86. package/dist/confirm/confirm.js +127 -0
  87. package/dist/confirm-ng/confirm-ng.js +69 -0
  88. package/dist/confirm-service/confirm-service.js +117 -0
  89. package/dist/content-layout/content-layout.js +66 -0
  90. package/dist/content-layout/sidebar.js +7 -0
  91. package/dist/contenteditable/contenteditable.js +78 -0
  92. package/dist/data-list/data-list.js +208 -0
  93. package/dist/data-list/data-list.mock.js +191 -0
  94. package/dist/data-list/item.js +229 -0
  95. package/dist/data-list/selection.js +102 -0
  96. package/dist/data-list/title.js +20 -0
  97. package/dist/data-list-ng/data-list-ng.js +62 -0
  98. package/dist/date-picker/consts.js +69 -0
  99. package/dist/date-picker/date-input.js +175 -0
  100. package/dist/date-picker/date-picker.js +367 -0
  101. package/dist/date-picker/date-popup.js +483 -0
  102. package/dist/date-picker/day.js +120 -0
  103. package/dist/date-picker/formats.js +3 -0
  104. package/dist/date-picker/month-names.js +100 -0
  105. package/dist/date-picker/month-slider.js +84 -0
  106. package/dist/date-picker/month.js +55 -0
  107. package/dist/date-picker/months.js +122 -0
  108. package/dist/date-picker/weekdays.js +32 -0
  109. package/dist/date-picker/years.js +110 -0
  110. package/dist/dialog/dialog.js +205 -0
  111. package/dist/dialog/dialog__body-scroll-preventer.js +3 -0
  112. package/dist/dialog-ng/dialog-ng.js +604 -0
  113. package/dist/dialog-ng/dialog-ng__template.js +3 -0
  114. package/dist/docked-panel-ng/docked-panel-ng.js +171 -0
  115. package/dist/dropdown/anchor.js +19 -0
  116. package/dist/dropdown/dropdown.js +236 -0
  117. package/dist/dropdown-menu/dropdown-menu.js +177 -0
  118. package/dist/error-bubble/error-bubble.js +59 -0
  119. package/dist/error-message/error-message.js +57 -0
  120. package/dist/error-message-ng/error-message-ng.js +35 -0
  121. package/dist/footer/footer.js +12 -0
  122. package/dist/footer-ng/footer-ng.js +64 -0
  123. package/dist/form-ng/form-ng.js +167 -0
  124. package/dist/global/angular-component-factory.js +84 -0
  125. package/dist/global/compose.js +9 -0
  126. package/dist/global/composeRefs.js +15 -0
  127. package/dist/global/conic-gradient.js +35 -0
  128. package/dist/global/create-stateful-context.js +55 -0
  129. package/dist/global/data-tests.js +24 -0
  130. package/dist/global/dom.js +125 -0
  131. package/dist/global/focus-sensor-hoc.js +146 -0
  132. package/dist/global/fuzzy-highlight.js +67 -0
  133. package/dist/global/get-event-key.js +111 -0
  134. package/dist/global/get-uid.js +15 -0
  135. package/dist/global/inject-styles.js +15 -0
  136. package/dist/global/linear-function.js +17 -0
  137. package/dist/global/listeners.js +44 -0
  138. package/dist/global/memoize.js +20 -0
  139. package/dist/global/normalize-indent.js +30 -0
  140. package/dist/global/promise-with-timeout.js +17 -0
  141. package/dist/global/radial-gradient-mask.js +38 -0
  142. package/dist/global/react-dom-renderer.js +46 -0
  143. package/dist/global/react-render-adapter.js +41 -0
  144. package/dist/global/rerender-hoc.js +55 -0
  145. package/dist/global/ring-angular-component.js +24 -0
  146. package/dist/global/schedule-raf.js +31 -0
  147. package/dist/global/sniffer.js +6 -0
  148. package/dist/global/supports-css.js +22 -0
  149. package/dist/global/theme.js +54 -0
  150. package/dist/global/trivial-template-tag.js +17 -0
  151. package/dist/global/url.js +165 -0
  152. package/dist/global/variables_dark.js +57 -0
  153. package/dist/grid/col.js +60 -0
  154. package/dist/grid/grid.js +33 -0
  155. package/dist/grid/row.js +64 -0
  156. package/dist/group/group.js +31 -0
  157. package/dist/group-ng/group-ng.js +11 -0
  158. package/dist/header/header.js +150 -0
  159. package/dist/header/logo.js +40 -0
  160. package/dist/header/profile.js +219 -0
  161. package/dist/header/services-link.js +12 -0
  162. package/dist/header/services.js +138 -0
  163. package/dist/header/smart-profile.js +233 -0
  164. package/dist/header/smart-services.js +163 -0
  165. package/dist/header/tray-icon.js +47 -0
  166. package/dist/header/tray.js +31 -0
  167. package/dist/heading/heading.js +73 -0
  168. package/dist/http/http.js +224 -0
  169. package/dist/http/http.mock.js +67 -0
  170. package/dist/hub-source/hub-source.js +130 -0
  171. package/dist/hub-source/hub-source__user.js +30 -0
  172. package/dist/hub-source/hub-source__users-groups.js +63 -0
  173. package/dist/icon/icon.js +105 -0
  174. package/dist/icon/icon__constants.js +33 -0
  175. package/dist/icon/icon__svg.js +83 -0
  176. package/dist/icon/index.js +12 -0
  177. package/dist/icon-ng/icon-ng.js +91 -0
  178. package/dist/input/input.js +230 -0
  179. package/dist/input-ng/input-ng.js +111 -0
  180. package/dist/island/adaptive-island-hoc.js +48 -0
  181. package/dist/island/content.js +160 -0
  182. package/dist/island/header.js +84 -0
  183. package/dist/island/island.js +51 -0
  184. package/dist/island-legacy/content-legacy.js +26 -0
  185. package/dist/island-legacy/header-legacy.js +28 -0
  186. package/dist/island-legacy/island-legacy.js +28 -0
  187. package/dist/island-ng/island-content-ng.js +42 -0
  188. package/dist/island-ng/island-header-ng.js +26 -0
  189. package/dist/island-ng/island-ng-class-fixer.js +11 -0
  190. package/dist/island-ng/island-ng.js +25 -0
  191. package/dist/link/clickableLink.js +64 -0
  192. package/dist/link/link.js +115 -0
  193. package/dist/link-ng/link-ng.js +22 -0
  194. package/dist/list/consts.js +26 -0
  195. package/dist/list/list.js +822 -0
  196. package/dist/list/list__custom.js +86 -0
  197. package/dist/list/list__hint.js +26 -0
  198. package/dist/list/list__item.js +206 -0
  199. package/dist/list/list__link.js +65 -0
  200. package/dist/list/list__separator.js +30 -0
  201. package/dist/list/list__title.js +39 -0
  202. package/dist/list/list__users-groups-source.js +130 -0
  203. package/dist/loader/loader.js +71 -0
  204. package/dist/loader/loader__core.js +273 -0
  205. package/dist/loader-inline/inject-styles.js +13 -0
  206. package/dist/loader-inline/loader-inline.js +58 -0
  207. package/dist/loader-inline-ng/loader-inline-ng.js +44 -0
  208. package/dist/loader-ng/loader-ng.js +44 -0
  209. package/dist/loader-screen/loader-screen.js +44 -0
  210. package/dist/loader-screen-ng/loader-screen-ng.js +95 -0
  211. package/dist/login-dialog/login-dialog.js +188 -0
  212. package/dist/login-dialog/service.js +72 -0
  213. package/dist/markdown/code.js +31 -0
  214. package/dist/markdown/heading.js +23 -0
  215. package/dist/markdown/link.js +31 -0
  216. package/dist/markdown/markdown.js +74 -0
  217. package/dist/message/message.js +235 -0
  218. package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
  219. package/dist/old-browsers-message/old-browsers-message.js +101 -0
  220. package/dist/old-browsers-message/old-browsers-message__stop.js +5 -0
  221. package/dist/old-browsers-message/white-list.js +34 -0
  222. package/dist/pager/pager.js +365 -0
  223. package/dist/pager-ng/pager-ng.js +100 -0
  224. package/dist/panel/panel.js +31 -0
  225. package/dist/panel-ng/panel-ng.js +17 -0
  226. package/dist/permissions/permissions.js +200 -0
  227. package/dist/permissions/permissions__cache.js +272 -0
  228. package/dist/permissions-ng/permissions-ng.js +277 -0
  229. package/dist/place-under-ng/place-under-ng.js +158 -0
  230. package/dist/popup/popup.consts.js +41 -0
  231. package/dist/popup/popup.js +396 -0
  232. package/dist/popup/popup.target.js +26 -0
  233. package/dist/popup/position.js +280 -0
  234. package/dist/popup-menu/popup-menu.js +117 -0
  235. package/dist/progress-bar/progress-bar.js +114 -0
  236. package/dist/progress-bar-ng/progress-bar-ng.js +17 -0
  237. package/dist/promised-click-ng/promised-click-ng.js +128 -0
  238. package/dist/proxy-attrs/proxy-attrs.js +21 -0
  239. package/dist/query-assist/query-assist.js +1096 -0
  240. package/dist/query-assist/query-assist__suggestions.js +49 -0
  241. package/dist/query-assist-ng/query-assist-ng.js +86 -0
  242. package/dist/radio/radio.js +42 -0
  243. package/dist/radio/radio__item.js +78 -0
  244. package/dist/radio-ng/radio-ng.js +47 -0
  245. package/dist/save-field-ng/save-field-ng.js +337 -0
  246. package/dist/save-field-ng/save-field-ng__template.js +3 -0
  247. package/dist/select/select.js +1357 -0
  248. package/dist/select/select__filter.js +56 -0
  249. package/dist/select/select__popup.js +553 -0
  250. package/dist/select-ng/select-ng.js +637 -0
  251. package/dist/select-ng/select-ng__lazy.js +169 -0
  252. package/dist/select-ng/select-ng__options.js +145 -0
  253. package/dist/shortcuts/core.js +245 -0
  254. package/dist/shortcuts/shortcut-title.js +51 -0
  255. package/dist/shortcuts/shortcuts-hoc.js +42 -0
  256. package/dist/shortcuts/shortcuts.js +72 -0
  257. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +123 -0
  258. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +3 -0
  259. package/dist/shortcuts-ng/shortcuts-ng.js +262 -0
  260. package/dist/sidebar-ng/sidebar-ng.js +113 -0
  261. package/dist/sidebar-ng/sidebar-ng__button-template.js +3 -0
  262. package/dist/sidebar-ng/sidebar-ng__template.js +3 -0
  263. package/dist/storage/storage.js +59 -0
  264. package/dist/storage/storage__fallback.js +215 -0
  265. package/dist/storage/storage__local.js +154 -0
  266. package/dist/style.css +1 -0
  267. package/dist/tab-trap/tab-trap.js +177 -0
  268. package/dist/table/cell.js +26 -0
  269. package/dist/table/disable-hover-hoc.js +54 -0
  270. package/dist/table/header-cell.js +92 -0
  271. package/dist/table/header.js +193 -0
  272. package/dist/table/multitable.js +141 -0
  273. package/dist/table/row-with-focus-sensor.js +83 -0
  274. package/dist/table/row.js +278 -0
  275. package/dist/table/selection-adapter.js +16 -0
  276. package/dist/table/selection-shortcuts-hoc.js +215 -0
  277. package/dist/table/selection.js +223 -0
  278. package/dist/table/smart-table.js +125 -0
  279. package/dist/table/table.js +409 -0
  280. package/dist/table-legacy-ng/table-legacy-ng.js +468 -0
  281. package/dist/table-legacy-ng/table-legacy-ng__pager.js +120 -0
  282. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
  283. package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
  284. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +57 -0
  285. package/dist/table-ng/smart-table-ng.js +68 -0
  286. package/dist/table-ng/table-ng.js +67 -0
  287. package/dist/tabs/collapsible-more.js +198 -0
  288. package/dist/tabs/collapsible-tab.js +91 -0
  289. package/dist/tabs/collapsible-tabs.js +362 -0
  290. package/dist/tabs/custom-item.js +13 -0
  291. package/dist/tabs/dumb-tabs.js +164 -0
  292. package/dist/tabs/smart-tabs.js +106 -0
  293. package/dist/tabs/tab-link.js +42 -0
  294. package/dist/tabs/tab.js +33 -0
  295. package/dist/tabs/tabs.js +71 -0
  296. package/dist/tabs-ng/tabs-ng.js +194 -0
  297. package/dist/tabs-ng/tabs-ng__template.js +3 -0
  298. package/dist/tag/tag.js +197 -0
  299. package/dist/tags-input/tags-input.js +482 -0
  300. package/dist/tags-input-ng/tags-input-ng.js +93 -0
  301. package/dist/tags-list/tags-list.js +95 -0
  302. package/dist/template-ng/template-ng.js +71 -0
  303. package/dist/text/text.js +36 -0
  304. package/dist/theme-ng/theme-ng.js +45 -0
  305. package/dist/title-ng/title-ng.js +114 -0
  306. package/dist/toggle/toggle.js +78 -0
  307. package/dist/toggle-ng/toggle-ng.js +18 -0
  308. package/dist/tooltip/tooltip.js +209 -0
  309. package/dist/tooltip-ng/tooltip-ng.js +104 -0
  310. package/dist/user-agreement/service.js +412 -0
  311. package/dist/user-agreement/toolbox.eula.js +3 -0
  312. package/dist/user-agreement/user-agreement.js +169 -0
  313. package/dist/user-card/card.js +19 -0
  314. package/dist/user-card/smart-user-card-tooltip.js +114 -0
  315. package/dist/user-card/tooltip.js +95 -0
  316. package/dist/user-card/user-card.js +51 -0
  317. package/dist/user-card-ng/user-card-ng.js +62 -0
  318. package/package.json +2 -2
@@ -0,0 +1,822 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import React, { Component, cloneElement } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import classNames from 'classnames';
6
+ import VirtualizedList from 'react-virtualized/dist/es/List';
7
+ import AutoSizer from 'react-virtualized/dist/es/AutoSizer';
8
+ import WindowScroller from 'react-virtualized/dist/es/WindowScroller';
9
+ import { CellMeasurerCache, CellMeasurer } from 'react-virtualized/dist/es/CellMeasurer';
10
+ import deprecate from 'util-deprecate';
11
+ import memoizeOne from 'memoize-one';
12
+ import joinDataTestAttributes from '../global/data-tests.js';
13
+ import getUID from '../global/get-uid.js';
14
+ import scheduleRAF from '../global/schedule-raf.js';
15
+ import memoize from '../global/memoize.js';
16
+ import { preventDefault } from '../global/dom.js';
17
+ import Shortcuts from '../shortcuts/shortcuts.js';
18
+ import createStatefulContext from '../global/create-stateful-context.js';
19
+ import ListLink from './list__link.js';
20
+ import ListItem from './list__item.js';
21
+ import ListCustom from './list__custom.js';
22
+ import ListTitle from './list__title.js';
23
+ import ListSeparator from './list__separator.js';
24
+ import ListHint from './list__hint.js';
25
+ import { Type, Dimension, DEFAULT_ITEM_TYPE } from './consts.js';
26
+ import { m as modules_3b67a421 } from '../_helpers/list.js';
27
+ import '../shortcuts/core.js';
28
+ import 'combokeys';
29
+ import '../global/sniffer.js';
30
+ import 'sniffr';
31
+ import '../link/link.js';
32
+ import 'focus-visible';
33
+ import '../link/clickableLink.js';
34
+ import '../_helpers/link.js';
35
+ import '../avatar/avatar.js';
36
+ import '../global/url.js';
37
+ import 'core-js/modules/es.string.replace.js';
38
+ import '../avatar/fallback-avatar.js';
39
+ import '../checkbox/checkbox.js';
40
+ import '@jetbrains/icons/checkmark';
41
+ import '@jetbrains/icons/remove-10px';
42
+ import '../icon/icon.js';
43
+ import '../icon/icon__constants.js';
44
+ import '../_helpers/icon.js';
45
+ import '../icon/icon__svg.js';
46
+ import '../_helpers/checkbox.js';
47
+ import '../global/get-event-key.js';
48
+
49
+ function noop() {}
50
+
51
+ const warnEmptyKey = deprecate(() => {}, 'No key passed for list item with non-string label. It is considered as a bad practice and has been deprecated, please provide a key.');
52
+ /**
53
+ * @param {Type} listItemType
54
+ * @param {Object} item list item
55
+ */
56
+
57
+ function isItemType(listItemType, item) {
58
+ let type = item.rgItemType;
59
+
60
+ if (type == null) {
61
+ type = DEFAULT_ITEM_TYPE;
62
+ }
63
+
64
+ return type === listItemType;
65
+ }
66
+
67
+ const nonActivatableTypes = [Type.SEPARATOR, Type.TITLE, Type.MARGIN];
68
+
69
+ function isActivatable(item) {
70
+ return item != null && !nonActivatableTypes.includes(item.rgItemType) && !item.disabled;
71
+ }
72
+
73
+ const shouldActivateFirstItem = props => props.activateFirstItem || props.activateSingleItem && props.data.length === 1;
74
+
75
+ const ActiveItemContext = createStatefulContext(undefined, 'ActiveItem');
76
+ /**
77
+ * @name List
78
+ * @constructor
79
+ * @extends {ReactComponent}
80
+ */
81
+
82
+ /**
83
+ * Displays a list of items.
84
+ */
85
+
86
+ class List extends Component {
87
+ constructor() {
88
+ var _this;
89
+
90
+ super(...arguments);
91
+ _this = this;
92
+
93
+ _defineProperty(this, "state", {
94
+ activeIndex: null,
95
+ prevActiveIndex: null,
96
+ prevData: [],
97
+ activeItem: null,
98
+ needScrollToActive: false,
99
+ scrolling: false,
100
+ hasOverflow: false,
101
+ disabledHover: false,
102
+ scrolledToBottom: false
103
+ });
104
+
105
+ _defineProperty(this, "hoverHandler", memoize(index => () => this.scheduleHoverListener(() => {
106
+ if (this.state.disabledHover) {
107
+ return;
108
+ }
109
+
110
+ if (this.container) {
111
+ this.setState({
112
+ activeIndex: index,
113
+ activeItem: this.props.data[index],
114
+ needScrollToActive: false
115
+ });
116
+ }
117
+ })));
118
+
119
+ _defineProperty(this, "_activatableItems", false);
120
+
121
+ _defineProperty(this, "_bufferSize", 10);
122
+
123
+ _defineProperty(this, "sizeCacheKey", index => {
124
+ if (index === 0 || index === this.props.data.length + 1) {
125
+ return Type.MARGIN;
126
+ }
127
+
128
+ const item = this.props.data[index - 1];
129
+ const isFirst = index === 1;
130
+
131
+ switch (item.rgItemType) {
132
+ case Type.SEPARATOR:
133
+ case Type.TITLE:
134
+ return "".concat(item.rgItemType).concat(isFirst ? '_first' : '').concat(item.description ? '_desc' : '');
135
+
136
+ case Type.MARGIN:
137
+ return Type.MARGIN;
138
+
139
+ case Type.CUSTOM:
140
+ return "".concat(Type.CUSTOM, "_").concat(item.key);
141
+
142
+ case Type.ITEM:
143
+ case Type.LINK:
144
+ default:
145
+ if (item.details) {
146
+ return "".concat(Type.ITEM, "_").concat(item.details);
147
+ }
148
+
149
+ return Type.ITEM;
150
+ }
151
+ });
152
+
153
+ _defineProperty(this, "_cache", new CellMeasurerCache({
154
+ defaultHeight: this.defaultItemHeight(),
155
+ fixedWidth: true,
156
+ keyMapper: this.sizeCacheKey
157
+ }));
158
+
159
+ _defineProperty(this, "_hasActivatableItems", memoizeOne(items => items.some(isActivatable)));
160
+
161
+ _defineProperty(this, "activateFirst", () => {
162
+ const firstActivatableIndex = this.props.data.findIndex(isActivatable);
163
+
164
+ if (firstActivatableIndex >= 0) {
165
+ this.setState({
166
+ activeIndex: firstActivatableIndex,
167
+ activeItem: this.props.data[firstActivatableIndex],
168
+ needScrollToActive: true
169
+ });
170
+ }
171
+ });
172
+
173
+ _defineProperty(this, "selectHandler", memoize(index => function (event) {
174
+ let tryKeepOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
175
+ const item = _this.props.data[index];
176
+
177
+ if (!_this.props.useMouseUp && item.onClick) {
178
+ item.onClick(item, event);
179
+ } else if (_this.props.useMouseUp && item.onMouseUp) {
180
+ item.onMouseUp(item, event);
181
+ }
182
+
183
+ if (_this.props.onSelect) {
184
+ _this.props.onSelect(item, event, {
185
+ tryKeepOpen
186
+ });
187
+ }
188
+ }));
189
+
190
+ _defineProperty(this, "checkboxHandler", memoize(index => event => this.selectHandler(index)(event, true)));
191
+
192
+ _defineProperty(this, "upHandler", e => {
193
+ const {
194
+ data,
195
+ disableMoveOverflow
196
+ } = this.props;
197
+ const index = this.state.activeIndex;
198
+ let newIndex;
199
+
200
+ if (index === null || index === 0) {
201
+ if (!disableMoveOverflow) {
202
+ newIndex = data.length - 1;
203
+ } else {
204
+ return;
205
+ }
206
+ } else {
207
+ newIndex = index - 1;
208
+ }
209
+
210
+ this.moveHandler(newIndex, this.upHandler, e);
211
+ });
212
+
213
+ _defineProperty(this, "downHandler", e => {
214
+ const {
215
+ data,
216
+ disableMoveOverflow,
217
+ disableMoveDownOverflow
218
+ } = this.props;
219
+ const index = this.state.activeIndex;
220
+ let newIndex;
221
+
222
+ if (index === null) {
223
+ newIndex = 0;
224
+ } else if (index + 1 === data.length) {
225
+ if (!disableMoveOverflow && !disableMoveDownOverflow) {
226
+ newIndex = 0;
227
+ } else {
228
+ return;
229
+ }
230
+ } else {
231
+ newIndex = index + 1;
232
+ }
233
+
234
+ this.moveHandler(newIndex, this.downHandler, e);
235
+ });
236
+
237
+ _defineProperty(this, "homeHandler", e => {
238
+ this.moveHandler(0, this.downHandler, e);
239
+ });
240
+
241
+ _defineProperty(this, "endHandler", e => {
242
+ this.moveHandler(this.props.data.length - 1, this.upHandler, e);
243
+ });
244
+
245
+ _defineProperty(this, "onDocumentMouseMove", () => {
246
+ if (this.state.disabledHover) {
247
+ this.setState({
248
+ disabledHover: false
249
+ });
250
+ }
251
+ });
252
+
253
+ _defineProperty(this, "onDocumentKeyDown", e => {
254
+ const metaKeys = [16, 17, 18, 19, 20, 91]; // eslint-disable-line no-magic-numbers
255
+
256
+ if (!this.state.disabledHover && !metaKeys.includes(e.keyCode)) {
257
+ this.setState({
258
+ disabledHover: true
259
+ });
260
+ }
261
+ });
262
+
263
+ _defineProperty(this, "mouseHandler", () => {
264
+ this.setState({
265
+ scrolling: false
266
+ });
267
+ });
268
+
269
+ _defineProperty(this, "scrollHandler", () => {
270
+ this.setState({
271
+ scrolling: true
272
+ }, this.scrollEndHandler);
273
+ });
274
+
275
+ _defineProperty(this, "enterHandler", (event, shortcut) => {
276
+ if (this.state.activeIndex !== null) {
277
+ const item = this.props.data[this.state.activeIndex];
278
+ this.selectHandler(this.state.activeIndex)(event);
279
+
280
+ if (item.href && !event.defaultPrevented) {
281
+ if (['command+enter', 'ctrl+enter'].includes(shortcut)) {
282
+ window.open(item.href, '_blank');
283
+ } else if (shortcut === 'shift+enter') {
284
+ window.open(item.href);
285
+ } else {
286
+ window.location.href = item.href;
287
+ }
288
+ }
289
+
290
+ return false; // do not propagate event
291
+ } else {
292
+ return true; // propagate event to the parent component (e.g., QueryAssist)
293
+ }
294
+ });
295
+
296
+ _defineProperty(this, "clearSelected", () => {
297
+ this.setState({
298
+ activeIndex: null,
299
+ needScrollToActive: false
300
+ });
301
+ });
302
+
303
+ _defineProperty(this, "scrollEndHandler", () => this.scheduleScrollListener(() => {
304
+ const innerContainer = this.inner;
305
+
306
+ if (innerContainer) {
307
+ const maxScrollingPosition = innerContainer.scrollHeight;
308
+ const sensitivity = this.defaultItemHeight() / 2;
309
+ const currentScrollingPosition = innerContainer.scrollTop + innerContainer.clientHeight + sensitivity;
310
+ const scrolledToBottom = maxScrollingPosition > 0 && currentScrollingPosition >= maxScrollingPosition;
311
+
312
+ if (!this.unmounted) {
313
+ this.setState({
314
+ scrolledToBottom
315
+ });
316
+ }
317
+
318
+ if (scrolledToBottom) {
319
+ this.props.onScrollToBottom();
320
+ }
321
+ }
322
+ }));
323
+
324
+ _defineProperty(this, "checkOverflow", () => {
325
+ if (this.inner) {
326
+ this.setState({
327
+ hasOverflow: this.inner.scrollHeight - this.inner.clientHeight > 1
328
+ });
329
+ }
330
+ });
331
+
332
+ _defineProperty(this, "renderItem", _ref => {
333
+ let {
334
+ index,
335
+ style,
336
+ isScrolling,
337
+ parent,
338
+ key
339
+ } = _ref;
340
+ let itemKey;
341
+ let el;
342
+ const realIndex = index - 1;
343
+ const item = this.props.data[realIndex];
344
+ const itemId = this.getId(item); // top and bottom margins
345
+
346
+ if (index === 0 || index === this.props.data.length + 1 || item.rgItemType === Type.MARGIN) {
347
+ itemKey = key || "".concat(Type.MARGIN, "_").concat(index);
348
+ el = /*#__PURE__*/React.createElement("div", {
349
+ style: {
350
+ height: Dimension.MARGIN
351
+ }
352
+ });
353
+ } else {
354
+ // Hack around SelectNG implementation
355
+ const {
356
+ selectedLabel,
357
+ originalModel,
358
+ ...cleanedProps
359
+ } = item;
360
+ const itemProps = Object.assign({
361
+ rgItemType: DEFAULT_ITEM_TYPE
362
+ }, cleanedProps);
363
+
364
+ if (itemProps.url) {
365
+ itemProps.href = itemProps.url;
366
+ }
367
+
368
+ if (itemProps.href) {
369
+ itemProps.rgItemType = Type.LINK;
370
+ }
371
+
372
+ itemKey = key || itemId;
373
+ itemProps.hover = realIndex === this.state.activeIndex;
374
+
375
+ if (itemProps.hoverClassName != null && itemProps.hover) {
376
+ itemProps.className = classNames(itemProps.className, itemProps.hoverClassName);
377
+ }
378
+
379
+ itemProps.onMouseOver = this.hoverHandler(realIndex);
380
+ itemProps.tabIndex = -1;
381
+ itemProps.scrolling = isScrolling;
382
+ const selectHandler = this.selectHandler(realIndex);
383
+
384
+ if (this.props.useMouseUp) {
385
+ itemProps.onMouseUp = selectHandler;
386
+ } else {
387
+ itemProps.onClick = selectHandler;
388
+ }
389
+
390
+ itemProps.onCheckboxChange = this.checkboxHandler(realIndex);
391
+
392
+ if (itemProps.compact == null) {
393
+ itemProps.compact = this.props.compact;
394
+ }
395
+
396
+ let ItemComponent;
397
+ const isFirst = index === 1;
398
+
399
+ switch (itemProps.rgItemType) {
400
+ case Type.SEPARATOR:
401
+ ItemComponent = ListSeparator;
402
+ itemProps.isFirst = isFirst;
403
+ break;
404
+
405
+ case Type.LINK:
406
+ ItemComponent = ListLink;
407
+ this.addItemDataTestToProp(itemProps);
408
+ break;
409
+
410
+ case Type.ITEM:
411
+ ItemComponent = ListItem;
412
+ this.addItemDataTestToProp(itemProps);
413
+ break;
414
+
415
+ case Type.CUSTOM:
416
+ ItemComponent = ListCustom;
417
+ this.addItemDataTestToProp(itemProps);
418
+ break;
419
+
420
+ case Type.TITLE:
421
+ itemProps.isFirst = isFirst;
422
+ ItemComponent = ListTitle;
423
+ break;
424
+
425
+ default:
426
+ throw new Error("Unknown menu element type: ".concat(itemProps.rgItemType));
427
+ }
428
+
429
+ el = /*#__PURE__*/React.createElement(ItemComponent, itemProps);
430
+ }
431
+
432
+ return parent ? /*#__PURE__*/React.createElement(CellMeasurer, {
433
+ cache: this._cache,
434
+ key: itemKey,
435
+ parent: parent,
436
+ rowIndex: index,
437
+ columnIndex: 0
438
+ }, _ref2 => {
439
+ let {
440
+ registerChild
441
+ } = _ref2;
442
+ return /*#__PURE__*/React.createElement("div", {
443
+ ref: registerChild,
444
+ style: style,
445
+ role: "row",
446
+ id: itemId
447
+ }, /*#__PURE__*/React.createElement("div", {
448
+ role: "cell"
449
+ }, el));
450
+ }) : /*#__PURE__*/React.createElement("div", {
451
+ role: "row",
452
+ id: itemId,
453
+ key: itemKey
454
+ }, /*#__PURE__*/React.createElement("div", {
455
+ role: "cell"
456
+ }, /*#__PURE__*/cloneElement(el)));
457
+ });
458
+
459
+ _defineProperty(this, "addItemDataTestToProp", props => {
460
+ props['data-test'] = joinDataTestAttributes('ring-list-item', props['data-test']);
461
+ return props;
462
+ });
463
+
464
+ _defineProperty(this, "virtualizedListRef", el => {
465
+ this.virtualizedList = el;
466
+ });
467
+
468
+ _defineProperty(this, "containerRef", el => {
469
+ this.container = el;
470
+ });
471
+
472
+ _defineProperty(this, "id", getUID('list-'));
473
+
474
+ _defineProperty(this, "shortcutsScope", this.id);
475
+
476
+ _defineProperty(this, "shortcutsMap", {
477
+ up: this.upHandler,
478
+ down: this.downHandler,
479
+ home: this.homeHandler,
480
+ end: this.endHandler,
481
+ enter: this.enterHandler,
482
+ 'meta+enter': this.enterHandler,
483
+ 'ctrl+enter': this.enterHandler,
484
+ 'command+enter': this.enterHandler,
485
+ 'shift+enter': this.enterHandler
486
+ });
487
+
488
+ this.scheduleScrollListener = scheduleRAF();
489
+ this.scheduleHoverListener = scheduleRAF();
490
+ }
491
+
492
+ static getDerivedStateFromProps(nextProps, prevState) {
493
+ const {
494
+ prevActiveIndex,
495
+ prevData,
496
+ activeItem
497
+ } = prevState;
498
+ const {
499
+ data,
500
+ activeIndex,
501
+ restoreActiveIndex
502
+ } = nextProps;
503
+ const nextState = {
504
+ prevActiveIndex: activeIndex,
505
+ prevData: data
506
+ };
507
+
508
+ if (data !== prevData) {
509
+ Object.assign(nextState, {
510
+ activeIndex: null,
511
+ activeItem: null
512
+ });
513
+ }
514
+
515
+ if (activeIndex != null && activeIndex !== prevActiveIndex && data[activeIndex] != null) {
516
+ Object.assign(nextState, {
517
+ activeIndex,
518
+ activeItem: data[activeIndex],
519
+ needScrollToActive: true
520
+ });
521
+ } else if (data !== prevData && restoreActiveIndex && activeItem != null && activeItem.key != null) {
522
+ // Restore active index if there is an item with the same "key" property
523
+ const index = data.findIndex(item => item.key === activeItem.key);
524
+
525
+ if (index >= 0) {
526
+ Object.assign(nextState, {
527
+ activeIndex: index,
528
+ activeItem: data[index]
529
+ });
530
+ }
531
+ }
532
+
533
+ return nextState;
534
+ }
535
+
536
+ componentDidMount() {
537
+ document.addEventListener('mousemove', this.onDocumentMouseMove);
538
+ document.addEventListener('keydown', this.onDocumentKeyDown, true);
539
+
540
+ if (this.props.activeIndex == null && shouldActivateFirstItem(this.props)) {
541
+ this.activateFirst();
542
+ }
543
+ }
544
+
545
+ shouldComponentUpdate(nextProps, nextState) {
546
+ return nextProps !== this.props || Object.keys(nextState).some(key => nextState[key] !== this.state[key]);
547
+ }
548
+
549
+ componentDidUpdate(prevProps) {
550
+ if (this.virtualizedList && prevProps.data !== this.props.data) {
551
+ this.virtualizedList.recomputeRowHeights();
552
+ }
553
+
554
+ if (this.props.activeIndex == null && this.props.data !== prevProps.data && shouldActivateFirstItem(this.props)) {
555
+ this.activateFirst();
556
+ }
557
+
558
+ this.checkOverflow();
559
+ }
560
+
561
+ componentWillUnmount() {
562
+ this.unmounted = true;
563
+ document.removeEventListener('mousemove', this.onDocumentMouseMove);
564
+ document.removeEventListener('keydown', this.onDocumentKeyDown, true);
565
+ }
566
+
567
+ hasActivatableItems() {
568
+ return this._hasActivatableItems(this.props.data);
569
+ }
570
+
571
+ moveHandler(index, retryCallback, e) {
572
+ let correctedIndex;
573
+
574
+ if (this.props.data.length === 0 || !this.hasActivatableItems()) {
575
+ return;
576
+ } else if (this.props.data.length < index) {
577
+ correctedIndex = 0;
578
+ } else {
579
+ correctedIndex = index;
580
+ }
581
+
582
+ const item = this.props.data[correctedIndex];
583
+ this.setState({
584
+ activeIndex: correctedIndex,
585
+ activeItem: item,
586
+ needScrollToActive: true
587
+ }, function onSet() {
588
+ if (!isActivatable(item)) {
589
+ retryCallback(e);
590
+ return;
591
+ }
592
+
593
+ if (e.key !== 'Home' && e.key !== 'End') {
594
+ preventDefault(e);
595
+ }
596
+ });
597
+ }
598
+
599
+ getFirst() {
600
+ return this.props.data.find(item => item.rgItemType === Type.ITEM || item.rgItemType === Type.CUSTOM);
601
+ }
602
+
603
+ getSelected() {
604
+ return this.props.data[this.state.activeIndex];
605
+ }
606
+
607
+ defaultItemHeight() {
608
+ return this.props.compact ? Dimension.COMPACT_ITEM_HEIGHT : Dimension.ITEM_HEIGHT;
609
+ }
610
+
611
+ getVisibleListHeight(props) {
612
+ return props.maxHeight - this.defaultItemHeight() - Dimension.INNER_PADDING;
613
+ }
614
+
615
+ _deprecatedGenerateKeyFromContent(itemProps) {
616
+ const identificator = itemProps.label || itemProps.description;
617
+ const isString = typeof identificator === 'string' || identificator instanceof String;
618
+
619
+ if (identificator && !isString) {
620
+ warnEmptyKey();
621
+ "".concat(itemProps.rgItemType, "_").concat(JSON.stringify(identificator));
622
+ }
623
+
624
+ return "".concat(itemProps.rgItemType, "_").concat(identificator);
625
+ }
626
+
627
+ getId(item) {
628
+ return item != null ? "".concat(this.id, ":").concat(item.key || this._deprecatedGenerateKeyFromContent(item)) : null;
629
+ }
630
+
631
+ get inner() {
632
+ if (!this._inner) {
633
+ this._inner = this.container && this.container.querySelector('.ring-list__i');
634
+ }
635
+
636
+ return this._inner;
637
+ }
638
+
639
+ renderVirtualizedInner(_ref3) {
640
+ let {
641
+ height,
642
+ maxHeight,
643
+ autoHeight = false,
644
+ rowCount,
645
+ isScrolling,
646
+ onChildScroll = noop,
647
+ scrollTop,
648
+ registerChild
649
+ } = _ref3;
650
+ const dirOverride = {
651
+ direction: 'auto'
652
+ }; // Virtualized sets "direction: ltr" by default https://github.com/bvaughn/react-virtualized/issues/457
653
+
654
+ return /*#__PURE__*/React.createElement(AutoSizer, {
655
+ disableHeight: true,
656
+ onResize: this.props.onResize
657
+ }, _ref4 => {
658
+ let {
659
+ width
660
+ } = _ref4;
661
+ return /*#__PURE__*/React.createElement("div", {
662
+ ref: registerChild
663
+ }, /*#__PURE__*/React.createElement(VirtualizedList, {
664
+ "aria-label": this.props.ariaLabel,
665
+ ref: this.virtualizedListRef,
666
+ className: "ring-list__i",
667
+ autoHeight: autoHeight,
668
+ style: maxHeight ? {
669
+ maxHeight,
670
+ height: 'auto',
671
+ ...dirOverride
672
+ } : dirOverride,
673
+ autoContainerWidth: true,
674
+ height: height,
675
+ width: width,
676
+ isScrolling: isScrolling,
677
+ onScroll: e => {
678
+ onChildScroll(e);
679
+ this.scrollEndHandler(e);
680
+ },
681
+ scrollTop: scrollTop,
682
+ rowCount: rowCount,
683
+ estimatedRowSize: this.defaultItemHeight(),
684
+ rowHeight: this._cache.rowHeight,
685
+ rowRenderer: this.renderItem,
686
+ overscanRowCount: this._bufferSize // ensure rerendering
687
+ ,
688
+ noop: () => {},
689
+ scrollToIndex: !this.props.disableScrollToActive && this.state.needScrollToActive && this.state.activeIndex != null ? this.state.activeIndex + 1 : undefined,
690
+ scrollToAlignment: "center",
691
+ deferredMeasurementCache: this._cache,
692
+ onRowsRendered: this.checkOverflow
693
+ }));
694
+ });
695
+ }
696
+
697
+ renderVirtualized(maxHeight, rowCount) {
698
+ if (maxHeight) {
699
+ return this.renderVirtualizedInner({
700
+ height: maxHeight,
701
+ maxHeight,
702
+ rowCount
703
+ });
704
+ }
705
+
706
+ return /*#__PURE__*/React.createElement(WindowScroller, null, props => this.renderVirtualizedInner({ ...props,
707
+ rowCount,
708
+ autoHeight: true
709
+ }));
710
+ }
711
+
712
+ renderSimple(maxHeight, rowCount) {
713
+ const items = [];
714
+
715
+ for (let index = 0; index < rowCount; index++) {
716
+ items.push(this.renderItem({
717
+ index,
718
+ isScrolling: this.state.scrolling
719
+ }));
720
+ }
721
+
722
+ return /*#__PURE__*/React.createElement("div", {
723
+ className: classNames('ring-list__i', modules_3b67a421.simpleInner),
724
+ onScroll: this.scrollHandler,
725
+ onMouseMove: this.mouseHandler
726
+ }, /*#__PURE__*/React.createElement("div", {
727
+ "aria-label": this.props.ariaLabel,
728
+ role: "grid",
729
+ style: maxHeight ? {
730
+ maxHeight: this.getVisibleListHeight(this.props)
731
+ } : null
732
+ }, items));
733
+ }
734
+
735
+ /** @override */
736
+ render() {
737
+ const hint = this.getSelected() && this.props.hintOnSelection || this.props.hint;
738
+ const fadeStyles = hint ? {
739
+ bottom: Dimension.ITEM_HEIGHT
740
+ } : null;
741
+ const rowCount = this.props.data.length + 2;
742
+ const maxHeight = this.props.maxHeight && this.getVisibleListHeight(this.props);
743
+ const classes = classNames(modules_3b67a421.list, this.props.className);
744
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ActiveItemContext.Updater, {
745
+ value: this.getId(this.state.activeItem),
746
+ skipUpdate: this.props.hidden || !isActivatable(this.state.activeItem)
747
+ }), /*#__PURE__*/React.createElement("div", {
748
+ id: this.props.id,
749
+ ref: this.containerRef,
750
+ className: classes,
751
+ onMouseOut: this.props.onMouseOut,
752
+ onBlur: this.props.onMouseOut,
753
+ onMouseLeave: this.clearSelected,
754
+ "data-test": "ring-list"
755
+ }, this.props.shortcuts && /*#__PURE__*/React.createElement(Shortcuts, {
756
+ map: this.shortcutsMap,
757
+ scope: this.shortcutsScope
758
+ }), this.props.renderOptimization ? this.renderVirtualized(maxHeight, rowCount) : this.renderSimple(maxHeight, rowCount), this.state.hasOverflow && !this.state.scrolledToBottom && /*#__PURE__*/React.createElement("div", {
759
+ className: modules_3b67a421.fade,
760
+ style: fadeStyles
761
+ }), hint && /*#__PURE__*/React.createElement(ListHint, {
762
+ label: hint
763
+ })));
764
+ }
765
+
766
+ }
767
+
768
+ _defineProperty(List, "propTypes", {
769
+ id: PropTypes.string,
770
+ className: PropTypes.string,
771
+ hint: PropTypes.node,
772
+ hintOnSelection: PropTypes.string,
773
+ data: PropTypes.array,
774
+ maxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
775
+ activeIndex: PropTypes.number,
776
+ restoreActiveIndex: PropTypes.bool,
777
+ activateSingleItem: PropTypes.bool,
778
+ activateFirstItem: PropTypes.bool,
779
+ shortcuts: PropTypes.bool,
780
+ onMouseOut: PropTypes.func,
781
+ onSelect: PropTypes.func,
782
+ onScrollToBottom: PropTypes.func,
783
+ onResize: PropTypes.func,
784
+ useMouseUp: PropTypes.bool,
785
+ visible: PropTypes.bool,
786
+ renderOptimization: PropTypes.bool,
787
+ disableMoveOverflow: PropTypes.bool,
788
+ disableMoveDownOverflow: PropTypes.bool,
789
+ compact: PropTypes.bool,
790
+ disableScrollToActive: PropTypes.bool,
791
+ hidden: PropTypes.bool,
792
+ ariaLabel: PropTypes.string
793
+ });
794
+
795
+ _defineProperty(List, "defaultProps", {
796
+ data: [],
797
+ restoreActiveIndex: false,
798
+ // restore active item using its "key" property
799
+ activateSingleItem: false,
800
+ // if there is only one item, activate it
801
+ activateFirstItem: false,
802
+ // if there no active items, activate the first one
803
+ onMouseOut: noop,
804
+ onSelect: noop,
805
+ onScrollToBottom: noop,
806
+ onResize: noop,
807
+ shortcuts: false,
808
+ renderOptimization: true,
809
+ disableMoveDownOverflow: false,
810
+ ariaLabel: 'List'
811
+ });
812
+
813
+ _defineProperty(List, "isItemType", isItemType);
814
+
815
+ _defineProperty(List, "ListHint", ListHint);
816
+
817
+ _defineProperty(List, "ListProps", {
818
+ Type,
819
+ Dimension
820
+ });
821
+
822
+ export { ActiveItemContext, List as default };