@jetbrains/ring-ui 5.0.0-beta.3 → 5.0.0-beta.7

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 (323) hide show
  1. package/CHANGELOG.md +49 -1
  2. package/babel.config.js +1 -12
  3. package/components/alert/alert.css +3 -14
  4. package/components/alert/alert.d.ts +3 -0
  5. package/components/alert/alert.js +8 -7
  6. package/components/alert/container.css +0 -2
  7. package/components/alert-service/alert-service.examples.css +5 -3
  8. package/components/auth/auth__core.d.ts +3 -1
  9. package/components/auth/auth__core.js +42 -15
  10. package/components/auth/down-notification.css +1 -1
  11. package/components/auth-dialog/auth-dialog.d.ts +11 -0
  12. package/components/auth-dialog/auth-dialog.js +33 -2
  13. package/components/autofocus-ng/autofocus-ng.js +1 -1
  14. package/components/autofocus-ng/autofocus-ng.test.js +1 -1
  15. package/components/button/button.css +93 -204
  16. package/components/button/button.d.ts +7 -8
  17. package/components/button/button.js +6 -8
  18. package/components/button/button__classes.d.ts +1 -1
  19. package/components/button/button__classes.js +4 -7
  20. package/components/button-group/button-group.css +136 -19
  21. package/components/button-group/button-group.d.ts +4 -1
  22. package/components/button-group/button-group.js +3 -3
  23. package/components/button-group-ng/button-group-ng.css +1 -0
  24. package/components/button-group-ng/button-group-ng.examples.js +1 -1
  25. package/components/button-ng/button-ng.examples.js +6 -7
  26. package/components/button-ng/button-ng.js +6 -25
  27. package/components/button-set/button-set.css +1 -0
  28. package/components/button-toolbar/button-toolbar.css +2 -0
  29. package/components/checkbox/checkbox.css +10 -4
  30. package/components/date-picker/date-input.js +2 -1
  31. package/components/date-picker/date-picker.css +2 -1
  32. package/components/dialog/dialog.css +10 -3
  33. package/components/dialog-ng/dialog-ng__template.js +1 -0
  34. package/components/error-bubble/error-bubble-legacy.css +1 -1
  35. package/components/error-bubble/error-bubble.css +1 -1
  36. package/components/global/controls-height.d.ts +7 -0
  37. package/components/global/controls-height.js +8 -0
  38. package/components/global/theme.d.ts +7 -20
  39. package/components/global/theme.js +26 -32
  40. package/components/global/variables.css +30 -25
  41. package/components/global/variables.d.ts +10 -8
  42. package/components/global/variables_dark.css +68 -0
  43. package/components/header/header.css +19 -10
  44. package/components/header/header.d.ts +7 -69
  45. package/components/header/header.js +10 -9
  46. package/components/header/services.css +3 -3
  47. package/components/header/services.d.ts +5 -0
  48. package/components/header/services.js +8 -2
  49. package/components/header/tray-icon.d.ts +18 -575
  50. package/components/heading/heading.css +4 -1
  51. package/components/icon/icon.css +1 -1
  52. package/components/input/input.css +81 -151
  53. package/components/input/input.d.ts +13 -17
  54. package/components/input/input.js +28 -32
  55. package/components/input-ng/input-ng.examples.js +1 -1
  56. package/components/input-ng/input-ng.js +45 -49
  57. package/components/island/adaptive-island-hoc.d.ts +2 -2
  58. package/components/island/adaptive-island-hoc.js +2 -2
  59. package/components/island/content.js +2 -7
  60. package/components/island/header.js +7 -4
  61. package/components/island/island.css +8 -5
  62. package/components/island/island.d.ts +2 -2
  63. package/components/island-legacy/island-legacy.css +1 -1
  64. package/components/list/list.d.ts +1 -1
  65. package/components/loader-inline/loader-inline.css +14 -0
  66. package/components/loader-inline/loader-inline.d.ts +4 -41
  67. package/components/loader-inline/loader-inline.js +3 -11
  68. package/components/loader-inline-ng/loader-inline-ng.js +1 -17
  69. package/components/loader-inline-ng/loader-inline-ng.test.js +0 -11
  70. package/components/markdown/code.d.ts +6 -13
  71. package/components/markdown/code.js +2 -2
  72. package/components/markdown/heading.d.ts +5 -9
  73. package/components/markdown/heading.js +2 -2
  74. package/components/markdown/link.d.ts +4 -8
  75. package/components/markdown/link.js +1 -1
  76. package/components/markdown/markdown.d.ts +2 -3
  77. package/components/markdown/markdown.js +14 -11
  78. package/components/message/message.css +7 -3
  79. package/components/message/message.d.ts +3 -0
  80. package/components/message/message.js +16 -9
  81. package/components/pager/pager.js +2 -8
  82. package/components/popup/popup.css +1 -1
  83. package/components/popup/popup.target.d.ts +1 -0
  84. package/components/progress-bar/progress-bar.css +8 -12
  85. package/components/progress-bar/progress-bar.d.ts +0 -4
  86. package/components/progress-bar/progress-bar.js +1 -6
  87. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -2
  88. package/components/query-assist/query-assist.css +48 -64
  89. package/components/query-assist/query-assist.d.ts +0 -5
  90. package/components/query-assist/query-assist.js +4 -10
  91. package/components/radio/radio.css +10 -4
  92. package/components/select/select.css +19 -37
  93. package/components/select/select.d.ts +4 -6
  94. package/components/select/select.js +17 -30
  95. package/components/select/select__filter.js +2 -1
  96. package/components/select/select__popup.js +1 -2
  97. package/components/select-ng/select-ng.examples.js +1 -0
  98. package/components/select-ng/select-ng.js +3 -1
  99. package/components/select-ng/select-ng.test.js +1 -1
  100. package/components/select-ng/select-ng__lazy.js +1 -2
  101. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  102. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +1 -1
  103. package/components/tabs/collapsible-tab.js +2 -2
  104. package/components/tabs/dumb-tabs.d.ts +4 -107
  105. package/components/tabs/dumb-tabs.js +5 -9
  106. package/components/tabs/tab.d.ts +2 -0
  107. package/components/tabs/tabs.css +8 -28
  108. package/components/tabs-ng/tabs-ng.examples.js +11 -3
  109. package/components/tabs-ng/tabs-ng.js +1 -4
  110. package/components/tabs-ng/tabs-ng__template.js +1 -1
  111. package/components/tag/tag.css +31 -8
  112. package/components/tag/tag.d.ts +1 -0
  113. package/components/tag/tag.js +1 -0
  114. package/components/tags-input/tags-input.css +10 -4
  115. package/components/toggle/toggle.css +61 -35
  116. package/components/toggle/toggle.d.ts +9 -89
  117. package/components/toggle/toggle.js +7 -7
  118. package/components/tooltip/tooltip.css +7 -0
  119. package/components/tooltip/tooltip.d.ts +1 -0
  120. package/components/tooltip/tooltip.js +3 -2
  121. package/components/user-agreement/service.d.ts +2 -2
  122. package/components/user-agreement/user-agreement.js +1 -1
  123. package/dist/_helpers/anchor.js +3 -3
  124. package/dist/_helpers/badge.js +1 -1
  125. package/dist/_helpers/button-group.js +1 -1
  126. package/dist/_helpers/button-set.js +1 -1
  127. package/dist/_helpers/button-toolbar.js +1 -1
  128. package/dist/_helpers/button__classes.js +5 -8
  129. package/dist/_helpers/card.js +1 -1
  130. package/dist/_helpers/checkbox.js +1 -1
  131. package/dist/_helpers/date-picker.js +1 -1
  132. package/dist/_helpers/dialog__body-scroll-preventer.js +1 -1
  133. package/dist/_helpers/error-message.js +1 -1
  134. package/dist/_helpers/footer.js +1 -1
  135. package/dist/_helpers/grid.js +1 -1
  136. package/dist/_helpers/group.js +1 -1
  137. package/dist/_helpers/header.js +1 -1
  138. package/dist/_helpers/icon.js +1 -1
  139. package/dist/_helpers/input.js +1 -1
  140. package/dist/_helpers/island.js +1 -1
  141. package/dist/_helpers/link.js +1 -1
  142. package/dist/_helpers/list.js +1 -1
  143. package/dist/_helpers/loader-inline.js +3 -0
  144. package/dist/_helpers/loader-screen.js +1 -1
  145. package/dist/_helpers/panel.js +1 -1
  146. package/dist/_helpers/query-assist__suggestions.js +1 -1
  147. package/dist/_helpers/radio.js +1 -1
  148. package/dist/_helpers/select__filter.js +5 -3
  149. package/dist/_helpers/services-link.js +1 -1
  150. package/dist/_helpers/sidebar.js +1 -1
  151. package/dist/_helpers/table.js +1 -1
  152. package/dist/_helpers/tabs.js +1 -1
  153. package/dist/_helpers/theme.js +50 -0
  154. package/dist/_helpers/title.js +1 -1
  155. package/dist/alert/alert.d.ts +3 -0
  156. package/dist/alert/alert.js +21 -19
  157. package/dist/alert/container.js +1 -1
  158. package/dist/alert-service/alert-service.js +9 -7
  159. package/dist/auth/auth.js +9 -9
  160. package/dist/auth/auth__core.d.ts +3 -1
  161. package/dist/auth/auth__core.js +58 -26
  162. package/dist/auth/down-notification.js +8 -8
  163. package/dist/auth/iframe-flow.js +1 -1
  164. package/dist/auth/landing.js +9 -9
  165. package/dist/auth/storage.js +9 -7
  166. package/dist/auth-dialog/auth-dialog.d.ts +11 -0
  167. package/dist/auth-dialog/auth-dialog.js +52 -7
  168. package/dist/auth-dialog-service/auth-dialog-service.js +1 -1
  169. package/dist/auth-ng/auth-ng.js +9 -9
  170. package/dist/autofocus-ng/autofocus-ng.js +1 -1
  171. package/dist/avatar/avatar.js +1 -1
  172. package/dist/avatar-editor-ng/avatar-editor-ng.js +9 -7
  173. package/dist/breadcrumb-ng/breadcrumb-ng.js +1 -1
  174. package/dist/button/button.d.ts +7 -8
  175. package/dist/button/button.js +6 -8
  176. package/dist/button/button__classes.d.ts +1 -1
  177. package/dist/button/button__classes.js +0 -3
  178. package/dist/button-group/button-group.d.ts +4 -1
  179. package/dist/button-group/button-group.js +5 -3
  180. package/dist/button-group-ng/button-group-ng.js +1 -1
  181. package/dist/button-ng/button-ng.js +6 -31
  182. package/dist/code/code.js +1 -1
  183. package/dist/confirm/confirm.js +5 -5
  184. package/dist/confirm-ng/confirm-ng.js +1 -1
  185. package/dist/confirm-service/confirm-service.js +1 -1
  186. package/dist/data-list/data-list.js +2 -7
  187. package/dist/data-list/item.js +8 -13
  188. package/dist/data-list-ng/data-list-ng.js +2 -7
  189. package/dist/date-picker/date-input.js +4 -3
  190. package/dist/date-picker/date-picker.js +1 -1
  191. package/dist/date-picker/date-popup.js +1 -1
  192. package/dist/dialog/dialog.js +3 -3
  193. package/dist/dialog-ng/dialog-ng.js +3 -3
  194. package/dist/dialog-ng/dialog-ng__template.js +1 -0
  195. package/dist/docked-panel-ng/docked-panel-ng.js +1 -1
  196. package/dist/dropdown/anchor.js +1 -1
  197. package/dist/dropdown/dropdown.js +1 -1
  198. package/dist/dropdown-menu/dropdown-menu.js +1 -1
  199. package/dist/error-bubble/error-bubble.js +1 -1
  200. package/dist/global/controls-height.d.ts +7 -0
  201. package/dist/global/controls-height.js +13 -0
  202. package/dist/global/theme.d.ts +7 -20
  203. package/dist/global/theme.js +7 -62
  204. package/dist/global/variables.d.ts +10 -8
  205. package/dist/header/header.d.ts +7 -69
  206. package/dist/header/header.js +13 -17
  207. package/dist/header/profile.js +3 -3
  208. package/dist/header/services.d.ts +5 -0
  209. package/dist/header/services.js +11 -3
  210. package/dist/header/smart-profile.js +10 -14
  211. package/dist/header/smart-services.js +9 -13
  212. package/dist/header/tray-icon.d.ts +18 -575
  213. package/dist/header/tray-icon.js +4 -4
  214. package/dist/heading/heading.js +1 -1
  215. package/dist/input/input.d.ts +13 -17
  216. package/dist/input/input.js +32 -41
  217. package/dist/input-ng/input-ng.js +46 -49
  218. package/dist/island/adaptive-island-hoc.d.ts +2 -2
  219. package/dist/island/adaptive-island-hoc.js +4 -2
  220. package/dist/island/content.js +2 -9
  221. package/dist/island/header.js +7 -4
  222. package/dist/island/island.d.ts +2 -2
  223. package/dist/list/list.d.ts +1 -1
  224. package/dist/loader/loader__core.js +1 -1
  225. package/dist/loader-inline/loader-inline.d.ts +4 -41
  226. package/dist/loader-inline/loader-inline.js +3 -21
  227. package/dist/loader-inline-ng/loader-inline-ng.js +2 -30
  228. package/dist/login-dialog/login-dialog.js +2 -2
  229. package/dist/login-dialog/service.js +1 -1
  230. package/dist/markdown/code.d.ts +6 -13
  231. package/dist/markdown/code.js +3 -3
  232. package/dist/markdown/heading.d.ts +5 -9
  233. package/dist/markdown/heading.js +2 -2
  234. package/dist/markdown/link.d.ts +4 -8
  235. package/dist/markdown/link.js +1 -1
  236. package/dist/markdown/markdown.d.ts +2 -3
  237. package/dist/markdown/markdown.js +16 -16
  238. package/dist/message/message.d.ts +3 -0
  239. package/dist/message/message.js +18 -10
  240. package/dist/pager/pager.js +8 -12
  241. package/dist/pager-ng/pager-ng.js +3 -7
  242. package/dist/permissions-ng/permissions-ng.js +9 -9
  243. package/dist/popup/popup.js +1 -1
  244. package/dist/popup/popup.target.d.ts +1 -0
  245. package/dist/progress-bar/progress-bar.d.ts +0 -4
  246. package/dist/progress-bar/progress-bar.js +1 -7
  247. package/dist/progress-bar-ng/progress-bar-ng.js +0 -1
  248. package/dist/promised-click-ng/promised-click-ng.js +2 -2
  249. package/dist/query-assist/query-assist.d.ts +0 -5
  250. package/dist/query-assist/query-assist.js +10 -26
  251. package/dist/query-assist-ng/query-assist-ng.js +2 -7
  252. package/dist/save-field-ng/save-field-ng.js +2 -9
  253. package/dist/select/select.d.ts +4 -6
  254. package/dist/select/select.js +35 -58
  255. package/dist/select/select__filter.js +1 -1
  256. package/dist/select/select__popup.js +7 -13
  257. package/dist/select-ng/select-ng.js +5 -9
  258. package/dist/select-ng/select-ng__lazy.js +7 -11
  259. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +2 -2
  260. package/dist/sidebar-ng/sidebar-ng.js +2 -2
  261. package/dist/storage/storage.js +9 -7
  262. package/dist/storage/storage__local.js +9 -7
  263. package/dist/style.css +1 -1
  264. package/dist/tab-trap/tab-trap.js +1 -1
  265. package/dist/table/row-with-focus-sensor.js +1 -1
  266. package/dist/table/row.js +5 -5
  267. package/dist/table/smart-table.js +1 -1
  268. package/dist/table/table.js +1 -1
  269. package/dist/table-legacy-ng/table-legacy-ng.js +3 -7
  270. package/dist/table-legacy-ng/table-legacy-ng__pager.js +3 -7
  271. package/dist/table-ng/smart-table-ng.js +1 -1
  272. package/dist/table-ng/table-ng.js +1 -1
  273. package/dist/tabs/collapsible-more.js +1 -1
  274. package/dist/tabs/collapsible-tab.js +3 -2
  275. package/dist/tabs/collapsible-tabs.js +1 -1
  276. package/dist/tabs/dumb-tabs.d.ts +4 -107
  277. package/dist/tabs/dumb-tabs.js +6 -12
  278. package/dist/tabs/smart-tabs.js +3 -3
  279. package/dist/tabs/tab.d.ts +2 -0
  280. package/dist/tabs/tabs.js +1 -1
  281. package/dist/tabs-ng/tabs-ng.js +1 -6
  282. package/dist/tabs-ng/tabs-ng__template.js +1 -1
  283. package/dist/tag/tag.d.ts +1 -0
  284. package/dist/tag/tag.js +5 -4
  285. package/dist/tags-input/tags-input.js +5 -9
  286. package/dist/tags-input-ng/tags-input-ng.js +4 -8
  287. package/dist/tags-list/tags-list.js +1 -1
  288. package/dist/text/text.js +1 -1
  289. package/dist/toggle/toggle.d.ts +9 -89
  290. package/dist/toggle/toggle.js +7 -8
  291. package/dist/toggle-ng/toggle-ng.js +2 -3
  292. package/dist/tooltip/tooltip.d.ts +1 -0
  293. package/dist/tooltip/tooltip.js +6 -3
  294. package/dist/user-agreement/service.d.ts +2 -2
  295. package/dist/user-agreement/service.js +9 -13
  296. package/dist/user-agreement/user-agreement.js +8 -10
  297. package/dist/user-card/smart-user-card-tooltip.js +6 -11
  298. package/dist/user-card/tooltip.js +1 -1
  299. package/dist/user-card/user-card.js +2 -7
  300. package/dist/user-card-ng/user-card-ng.js +4 -9
  301. package/package.json +5 -5
  302. package/webpack.config.js +0 -11
  303. package/components/global/conic-gradient.d.ts +0 -796
  304. package/components/global/conic-gradient.js +0 -21
  305. package/components/global/radial-gradient-mask.d.ts +0 -9
  306. package/components/global/radial-gradient-mask.js +0 -39
  307. package/components/global/supports-css.d.ts +0 -2
  308. package/components/global/supports-css.js +0 -14
  309. package/components/global/variables_dark.d.ts +0 -3
  310. package/components/global/variables_dark.js +0 -53
  311. package/components/loader-inline/inject-styles.d.ts +0 -2
  312. package/components/loader-inline/inject-styles.js +0 -17
  313. package/dist/_helpers/inject-styles.js +0 -22
  314. package/dist/global/conic-gradient.d.ts +0 -796
  315. package/dist/global/conic-gradient.js +0 -35
  316. package/dist/global/radial-gradient-mask.d.ts +0 -9
  317. package/dist/global/radial-gradient-mask.js +0 -49
  318. package/dist/global/supports-css.d.ts +0 -2
  319. package/dist/global/supports-css.js +0 -20
  320. package/dist/global/variables_dark.d.ts +0 -3
  321. package/dist/global/variables_dark.js +0 -57
  322. package/dist/loader-inline/inject-styles.d.ts +0 -2
  323. package/dist/loader-inline/inject-styles.js +0 -11
@@ -1,16 +1,12 @@
1
- import { ReactNode } from 'react';
1
+ /// <reference types="react" />
2
2
  import PropTypes from 'prop-types';
3
- export interface MarkdownLinkProps {
4
- href?: string | undefined;
5
- title?: string | undefined;
6
- children?: ReactNode;
7
- }
3
+ import { ReactMarkdownProps } from 'react-markdown/lib/complex-types';
8
4
  declare const MarkdownLink: {
9
- ({ href, title, children }: MarkdownLinkProps): JSX.Element;
5
+ ({ href, title, children }: JSX.IntrinsicElements['a'] & ReactMarkdownProps): JSX.Element;
10
6
  propTypes: {
11
7
  href: PropTypes.Requireable<string>;
12
8
  title: PropTypes.Requireable<string>;
13
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
9
+ children: PropTypes.Validator<any[]>;
14
10
  };
15
11
  };
16
12
  export default MarkdownLink;
@@ -5,6 +5,6 @@ const MarkdownLink = ({ href, title, children }) => <Link href={href} title={tit
5
5
  MarkdownLink.propTypes = {
6
6
  href: PropTypes.string,
7
7
  title: PropTypes.string,
8
- children: PropTypes.node
8
+ children: PropTypes.array.isRequired
9
9
  };
10
10
  export default MarkdownLink;
@@ -1,10 +1,9 @@
1
1
  import { PureComponent } from 'react';
2
- import { ReactMarkdownProps } from 'react-markdown';
2
+ import { Options } from 'react-markdown';
3
3
  export interface BaseMarkdownProps {
4
- source: string;
5
4
  inline?: boolean | null | undefined;
6
5
  }
7
- export declare type MarkdownProps = ReactMarkdownProps & BaseMarkdownProps;
6
+ export declare type MarkdownProps = Options & BaseMarkdownProps;
8
7
  /**
9
8
  * @name Markdown
10
9
  */
@@ -15,27 +15,30 @@ import styles from './markdown.css';
15
15
  */
16
16
  export default class Markdown extends PureComponent {
17
17
  render() {
18
- const { className, renderers, inline, source, plugins = [], ...restProps } = this.props;
18
+ const { className, components, inline, children, plugins = [], ...restProps } = this.props;
19
19
  const classes = classNames(className, {
20
20
  [styles.markdown]: !inline,
21
21
  [styles.inline]: inline
22
22
  });
23
- return (<ReactMarkdown className={classes} source={normalizeIndent(source)} plugins={[RemarkBreaks, RemarkGFM, ...plugins]} renderers={{
24
- link: Link,
25
- linkReference: Link,
23
+ return (<ReactMarkdown className={classes} plugins={[RemarkBreaks, RemarkGFM, ...plugins]} components={{
24
+ a: Link,
26
25
  code: Code,
27
- inlineCode: Code,
28
- heading: Heading,
29
- ...renderers
30
- }} {...restProps}/>);
26
+ h1: Heading,
27
+ h2: Heading,
28
+ h3: Heading,
29
+ h4: Heading,
30
+ h5: Heading,
31
+ h6: Heading,
32
+ ...components
33
+ }} {...restProps}>{normalizeIndent(children)}</ReactMarkdown>);
31
34
  }
32
35
  }
33
36
  Markdown.propTypes = {
34
37
  inline: PropTypes.bool,
35
- source: PropTypes.string,
38
+ children: PropTypes.string,
36
39
  className: PropTypes.string,
37
- renderers: PropTypes.object,
40
+ components: PropTypes.object,
38
41
  plugins: PropTypes.array
39
42
  };
40
- const md = trivialTemplateTag(source => <Markdown {...{ source }}/>);
43
+ const md = trivialTemplateTag(source => <Markdown>{source}</Markdown>);
41
44
  export { md };
@@ -3,6 +3,10 @@
3
3
  @value unit from "../global/global.css";
4
4
  @value padding: calc(unit * 1.5);
5
5
 
6
+ .container {
7
+ display: inline;
8
+ }
9
+
6
10
  .message {
7
11
  overflow: visible;
8
12
 
@@ -12,7 +16,7 @@
12
16
 
13
17
  text-align: left;
14
18
 
15
- color: var(--ring-dark-text-color);
19
+ color: var(--ring-active-text-color);
16
20
 
17
21
  border: none;
18
22
 
@@ -32,7 +36,7 @@
32
36
 
33
37
  border-radius: var(--ring-border-radius);
34
38
 
35
- box-shadow: 0 2px 8px 0 var(--ring-message-shadow-color);
39
+ box-shadow: var(--ring-popup-shadow);
36
40
  }
37
41
  }
38
42
 
@@ -55,7 +59,7 @@
55
59
 
56
60
  margin: calc(unit / 2) 0 0;
57
61
 
58
- color: var(--ring-dark-active-color);
62
+ color: var(--ring-text-color);
59
63
  }
60
64
 
61
65
  .button {
@@ -3,6 +3,7 @@ import Popup, { PopupAttrs } from '../popup/popup';
3
3
  import { Directions } from '../popup/popup.consts';
4
4
  import { IconType } from '../icon/icon';
5
5
  import { ButtonAttrs } from '../button/button';
6
+ import Theme from '../global/theme';
6
7
  export interface MessageTranslations {
7
8
  gotIt: string;
8
9
  dismiss: string;
@@ -11,6 +12,7 @@ export interface MessageProps {
11
12
  icon: string | IconType | null;
12
13
  directions: readonly Directions[];
13
14
  translations: MessageTranslations;
15
+ theme: Theme;
14
16
  title?: string | null | undefined;
15
17
  children?: ReactNode;
16
18
  className?: string | null | undefined;
@@ -36,6 +38,7 @@ export default class Message extends Component<MessageProps> {
36
38
  gotIt: string;
37
39
  dismiss: string;
38
40
  };
41
+ theme: Theme;
39
42
  };
40
43
  state: MessageState;
41
44
  static Directions: typeof Directions;
@@ -6,6 +6,8 @@ import Popup from '../popup/popup';
6
6
  import { Directions } from '../popup/popup.consts';
7
7
  import Icon from '../icon/icon';
8
8
  import Button from '../button/button';
9
+ import Theme, { ThemeProvider } from '../global/theme';
10
+ import darkStyles from '../global/variables_dark.css';
9
11
  import styles from './message.css';
10
12
  /**
11
13
  * @name Message
@@ -40,7 +42,8 @@ export default class Message extends Component {
40
42
  translations: {
41
43
  gotIt: 'Got it',
42
44
  dismiss: 'Dismiss'
43
- }
45
+ },
46
+ theme: Theme.DARK
44
47
  };
45
48
  state = {};
46
49
  static Directions = Directions;
@@ -71,21 +74,25 @@ export default class Message extends Component {
71
74
  return offset;
72
75
  }
73
76
  render() {
74
- const { children, className, tailClassName, title, icon, popupProps, buttonProps, onClose, onDismiss, translations } = this.props;
75
- const classes = classNames(styles.message, className);
77
+ const { children, className, tailClassName, title, icon, popupProps, buttonProps, onClose, onDismiss, translations, theme } = this.props;
78
+ const classes = classNames(styles.message, className, {
79
+ [darkStyles.dark]: theme === Theme.DARK
80
+ });
76
81
  const tailClasses = classNames(styles.tail, tailClassName);
77
82
  const popupDirections = this.props.direction
78
83
  ? [this.props.direction]
79
84
  : this.props.directions;
80
85
  const { direction } = this.state;
81
86
  return (<Popup ref={this.popupRef} hidden={false} directions={popupDirections} className={classes} offset={UNIT * 2} onDirectionChange={this._onDirectionChange} {...popupProps}>
82
- {direction && (<div className={tailClasses} style={getTailOffsets(this.getTailOffset())[direction]}/>)}
87
+ <ThemeProvider theme={theme} passToPopups>
88
+ {direction && (<div className={tailClasses} style={getTailOffsets(this.getTailOffset())[direction]}/>)}
83
89
 
84
- {icon && <Icon className={styles.icon} glyph={icon}/>}
85
- <h1 data-test="rgMessageTitle" className={styles.title}>{title}</h1>
86
- {children && <div className={styles.description}>{children}</div>}
87
- {(onClose || buttonProps) && (<Button className={styles.button} onClick={onClose} primary {...buttonProps}>{translations.gotIt}</Button>)}
88
- {onDismiss && <Button onClick={onDismiss} text>{translations.dismiss}</Button>}
90
+ {icon && <Icon className={styles.icon} glyph={icon}/>}
91
+ <h1 data-test="rgMessageTitle" className={styles.title}>{title}</h1>
92
+ {children && <div className={styles.description}>{children}</div>}
93
+ {(onClose || buttonProps) && (<Button className={styles.button} onClick={onClose} primary {...buttonProps}>{translations.gotIt}</Button>)}
94
+ {onDismiss && <Button onClick={onDismiss} text>{translations.dismiss}</Button>}
95
+ </ThemeProvider>
89
96
  </Popup>);
90
97
  }
91
98
  }
@@ -182,10 +182,7 @@ export default class Pager extends PureComponent {
182
182
  {this.getPagerLinks()}
183
183
 
184
184
  <ButtonToolbar>
185
- {start > 1 &&
186
- (<ButtonGroup>
187
- {this.getButton(1, this.props.translations.firstPage)}
188
- </ButtonGroup>)}
185
+ {start > 1 && this.getButton(1, this.props.translations.firstPage)}
189
186
 
190
187
  <ButtonGroup>
191
188
  {start > 1 && this.getButton(start - 1, '...')}
@@ -197,10 +194,7 @@ export default class Pager extends PureComponent {
197
194
  {end === totalPages && this.props.openTotal && (<Button href={this.generateHref(end + 1)} disabled={this.props.loader} {...this.getClickProps(this.handleLoadMore(end + 1))}>{'...'}</Button>)}
198
195
  </ButtonGroup>
199
196
 
200
- {lastPageButtonAvailable &&
201
- (<ButtonGroup>
202
- {this.getButton(this.props.openTotal ? -1 : totalPages, this.props.translations.lastPage)}
203
- </ButtonGroup>)}
197
+ {lastPageButtonAvailable && this.getButton(this.props.openTotal ? -1 : totalPages, this.props.translations.lastPage)}
204
198
  </ButtonToolbar>
205
199
 
206
200
  {this.getPageSizeSelector()}
@@ -16,7 +16,7 @@
16
16
  border-radius: var(--ring-border-radius);
17
17
 
18
18
  background-color: var(--ring-popup-background-color);
19
- box-shadow: 0 2px 16px 0 var(--ring-popup-shadow-color);
19
+ box-shadow: var(--ring-popup-shadow);
20
20
  }
21
21
 
22
22
  .hidden {
@@ -1,6 +1,7 @@
1
1
  import React, { HTMLAttributes, ReactNode } from 'react';
2
2
  export declare const PopupTargetContext: React.Context<string | undefined>;
3
3
  export interface PopupTargetProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ id: string;
4
5
  children: ReactNode | ((target: ReactNode) => ReactNode);
5
6
  }
6
7
  export declare const PopupTarget: React.ForwardRefExoticComponent<PopupTargetProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,21 +1,16 @@
1
1
  @import "../global/variables.css";
2
2
 
3
+ @value dark from "../global/variables_dark.css";
3
4
  @value unit from "../global/global.css";
4
5
 
5
- .light {
6
- &.progressBar {
7
- background-color: rgba(0, 0, 0, 0.2);
8
- }
6
+ :root {
7
+ --ring-progress-bar-background-color: rgba(0, 0, 0, 0.2);
8
+ --ring-progress-bar-line-background-color: rgba(255, 255, 255, 0.6);
9
9
  }
10
10
 
11
11
  .dark {
12
- &.progressBar {
13
- background-color: rgba(255, 255, 255, 0.3);
14
- }
15
-
16
- & .line::after {
17
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.4), rgba(0, 0, 0, 0));
18
- }
12
+ --ring-progress-bar-background-color: rgba(255, 255, 255, 0.3);
13
+ --ring-progress-bar-line-background-color: rgba(255, 255, 255, 0.4);
19
14
  }
20
15
 
21
16
  .progressBar {
@@ -28,6 +23,7 @@
28
23
  margin-bottom: calc(unit / 2);
29
24
 
30
25
  border-radius: 2px;
26
+ background-color: var(--ring-progress-bar-background-color);
31
27
  }
32
28
 
33
29
  .globalMode {
@@ -64,7 +60,7 @@
64
60
  content: "";
65
61
  animation: progress-bar 2500ms linear infinite;
66
62
 
67
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.6), rgba(0, 0, 0, 0));
63
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0), var(--ring-progress-bar-line-background-color), rgba(0, 0, 0, 0));
68
64
  background-repeat: no-repeat;
69
65
  }
70
66
  }
@@ -1,10 +1,8 @@
1
1
  import { HTMLAttributes, PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import Theme from '../global/theme';
4
3
  export interface ProgressBarProps extends HTMLAttributes<HTMLElement> {
5
4
  max: number;
6
5
  value: number;
7
- theme: Theme;
8
6
  label: string;
9
7
  global?: boolean | null | undefined;
10
8
  }
@@ -21,7 +19,6 @@ export default class ProgressBar extends PureComponent<ProgressBarProps> {
21
19
  static toPercent(value: number, max: number): number;
22
20
  static propTypes: {
23
21
  label: PropTypes.Requireable<string>;
24
- theme: PropTypes.Requireable<string>;
25
22
  /**
26
23
  * Sets the ring-progress-bar_global class to position the progress bar on top of the screen.
27
24
  * Should be placed directly inside body, will be positioned right below .ring-header
@@ -50,7 +47,6 @@ export default class ProgressBar extends PureComponent<ProgressBarProps> {
50
47
  static defaultProps: {
51
48
  max: number;
52
49
  value: number;
53
- theme: Theme;
54
50
  label: string;
55
51
  };
56
52
  progressbarWrapper?: (HTMLElement | null);
@@ -1,7 +1,6 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
- import Theme from '../global/theme';
5
4
  import styles from './progress-bar.css';
6
5
  /**
7
6
  * @name Progress Bar
@@ -20,7 +19,6 @@ export default class ProgressBar extends PureComponent {
20
19
  }
21
20
  static propTypes = {
22
21
  label: PropTypes.string,
23
- theme: PropTypes.string,
24
22
  /**
25
23
  * Sets the ring-progress-bar_global class to position the progress bar on top of the screen.
26
24
  * Should be placed directly inside body, will be positioned right below .ring-header
@@ -49,7 +47,6 @@ export default class ProgressBar extends PureComponent {
49
47
  static defaultProps = {
50
48
  max: 1.0,
51
49
  value: 0,
52
- theme: Theme.LIGHT,
53
50
  label: 'Progress'
54
51
  };
55
52
  progressbarWrapper;
@@ -61,11 +58,9 @@ export default class ProgressBar extends PureComponent {
61
58
  this.progressbar = el;
62
59
  };
63
60
  render() {
64
- const { theme, className, global, max, value, label, ...otherProps } = this.props;
61
+ const { className, global, max, value, label, ...otherProps } = this.props;
65
62
  const width = value ? `${ProgressBar.toPercent(value, max)}%` : undefined;
66
63
  const classes = classNames(styles.progressBar, className, {
67
- [styles.light]: theme === Theme.LIGHT,
68
- [styles.dark]: theme === Theme.DARK,
69
64
  [styles.globalMode]: global
70
65
  });
71
66
  return (<div {...otherProps} className={classes} ref={this.progressbarWrapperRef}>
@@ -1,6 +1,7 @@
1
1
  import angular from 'angular';
2
2
 
3
3
  import angularDecorator, {APP_NAME} from '../../.storybook/angular-decorator';
4
+ import darkStyles from '../global/variables_dark.css';
4
5
 
5
6
  import RingProgressBar from './progress-bar-ng';
6
7
 
@@ -33,8 +34,8 @@ export const basic = () => {
33
34
  <div style="height: 25px; padding-top: 25px;">
34
35
  <rg-progress-bar label="'Progress'" value="ctrl.value" class="example-progress"></rg-progress-bar>
35
36
  </div>
36
- <div style="height: 25px; background: #000; padding-top: 25px;">
37
- <rg-progress-bar label="'Progress'" value="ctrl.value" theme="'dark'" class="example-progress"></rg-progress-bar>
37
+ <div class="${darkStyles.dark}" style="height: 25px; background: var(--ring-content-background-color); padding-top: 25px;">
38
+ <rg-progress-bar label="'Progress'" value="ctrl.value" class="example-progress"></rg-progress-bar>
38
39
  </div>
39
40
  <div style="height: 25px; background: #F0F0F0; padding-top: 25px;">
40
41
  <rg-progress-bar label="'Progress'" value="ctrl.value" class="example-progress"></rg-progress-bar>
@@ -1,72 +1,70 @@
1
1
  @import "../global/variables.css";
2
2
 
3
+ @value dark from "../global/variables_dark.css";
3
4
  @value unit from "../global/global.css";
4
5
  @value overInputZIndex: 2;
5
6
  @value inputGap: calc(unit * 3);
6
7
 
7
- .light {
8
- &.queryAssist {
9
- height: calc(unit * 3);
8
+ .queryAssist {
9
+ height: calc(unit * 3);
10
10
 
11
- background: var(--ring-content-background-color);
12
- }
11
+ background: var(--ring-content-background-color);
12
+ }
13
13
 
14
- & .input {
15
- height: calc(unit * 3 - 2px);
14
+ .input {
15
+ height: calc(unit * 3 - 2px);
16
16
 
17
- box-shadow: 0 0 0 1px var(--ring-borders-color);
17
+ box-shadow: 0 0 0 1px var(--ring-borders-color);
18
18
 
19
- /* stylelint-disable-next-line selector-max-specificity */
20
- &:not([disabled]):active,
21
- /* stylelint-disable-next-line selector-max-specificity */
22
- &:not([disabled]):focus {
23
- border-color: transparent;
24
- box-shadow: 0 0 0 1px var(--ring-main-color);
25
- }
19
+ /* stylelint-disable-next-line selector-max-specificity */
20
+ &:not([disabled]):active,
21
+ &:not([disabled]):focus {
22
+ border-color: transparent;
23
+ box-shadow: 0 0 0 1px var(--ring-main-color);
26
24
  }
25
+ }
27
26
 
28
- & .placeholder {
29
- color: var(--ring-secondary-color);
30
- }
27
+ .placeholder {
28
+ color: var(--ring-secondary-color);
29
+ }
31
30
 
32
- & .letter-text {
33
- color: var(--ring-warning-color);
34
- }
31
+ .letter-text {
32
+ color: var(--ring-warning-color);
33
+ }
35
34
 
36
- & .letterDefault,
37
- & .letter-field-name {
38
- color: var(--ring-text-color);
39
- }
35
+ .letterDefault,
36
+ .letter-field-name {
37
+ color: var(--ring-text-color);
38
+ }
40
39
 
41
- & .letter-field-value {
42
- color: var(--ring-link-color);
43
- }
40
+ .letter-field-value {
41
+ color: var(--ring-link-color);
42
+ }
44
43
 
45
- & .letter-operator {
46
- color: var(--ring-secondary-color);
47
- }
44
+ .letter-operator {
45
+ color: var(--ring-secondary-color);
46
+ }
48
47
 
49
- & .letter-error {
50
- padding-bottom: 1px;
48
+ .letter-error {
49
+ padding-bottom: 1px;
51
50
 
52
- border-bottom: 1px solid var(--ring-icon-error-color);
53
- }
51
+ border-bottom: 1px solid var(--ring-icon-error-color);
52
+ }
54
53
 
55
- & .iconInner {
56
- color: var(--ring-icon-secondary-color);
57
- }
54
+ .iconInner {
55
+ color: var(--ring-icon-secondary-color);
56
+ }
58
57
 
59
- & .highlight {
60
- font-weight: 600;
61
- }
58
+ .highlight {
59
+ font-weight: 600;
60
+ }
62
61
 
63
- & .service {
64
- color: var(--ring-secondary-color);
65
- }
62
+ .service {
63
+ color: var(--ring-secondary-color);
66
64
  }
67
65
 
68
66
  .dark {
69
- &.queryAssist {
67
+ & .queryAssist {
70
68
  height: calc(unit * 4);
71
69
 
72
70
  font-size: 16px;
@@ -80,7 +78,7 @@
80
78
  color: var(--ring-search-color);
81
79
 
82
80
  border-top-width: 5px;
83
- background: var(--ring-dark-selected-background-color);
81
+ background: var(--ring-selected-background-color);
84
82
 
85
83
  &:active,
86
84
  &:focus {
@@ -117,7 +115,7 @@
117
115
  }
118
116
 
119
117
  & .letter-field-value {
120
- color: var(--ring-dark-text-color);
118
+ color: var(--ring-active-text-color);
121
119
  }
122
120
 
123
121
  & .letter-operator {
@@ -131,7 +129,7 @@
131
129
  }
132
130
 
133
131
  & .icon {
134
- top: 8px;
132
+ top: 7px;
135
133
  }
136
134
 
137
135
  & .iconInner {
@@ -151,7 +149,7 @@
151
149
  }
152
150
 
153
151
  & .actions {
154
- background-color: var(--ring-dark-selected-background-color);
152
+ background-color: var(--ring-selected-background-color);
155
153
  }
156
154
 
157
155
  /* stylelint-disable-next-line selector-max-specificity */
@@ -288,7 +286,7 @@
288
286
  .icon {
289
287
  position: absolute;
290
288
  z-index: overInputZIndex;
291
- top: 4px;
289
+ top: 3px;
292
290
 
293
291
  box-sizing: border-box;
294
292
 
@@ -319,20 +317,6 @@
319
317
  left: auto;
320
318
  }
321
319
 
322
- .focusUnderline {
323
- width: 0;
324
- height: 2px;
325
-
326
- transition: width 0.15s ease-out;
327
-
328
- background: var(--ring-main-color);
329
- }
330
-
331
- .input:focus ~ .focusUnderline,
332
- .input:active ~ .focusUnderline {
333
- width: 100%;
334
- }
335
-
336
320
  .input::-webkit-scrollbar {
337
321
  display: none;
338
322
  }
@@ -2,7 +2,6 @@ import React, { Component, ComponentRef, ReactNode, SyntheticEvent } from 'react
2
2
  import PropTypes from 'prop-types';
3
3
  import Caret, { Position } from '../caret/caret';
4
4
  import PopupMenu from '../popup-menu/popup-menu';
5
- import Theme from '../global/theme';
6
5
  import Button from '../button/button';
7
6
  import { ShortcutsMap } from '../shortcuts/core';
8
7
  import { QueryAssistSuggestion, SuggestionItem } from './query-assist__suggestions';
@@ -34,7 +33,6 @@ export interface QueryAssistRequestParams {
34
33
  omitSuggestions?: boolean;
35
34
  }
36
35
  export interface QueryAssistProps {
37
- theme: Theme;
38
36
  onApply: (change: QueryAssistChange) => void;
39
37
  onChange: (change: QueryAssistChange) => void;
40
38
  onApplySuggestion: (suggestion: QueryAssistSuggestion, change: QueryAssistChange) => void;
@@ -125,7 +123,6 @@ interface HistoryEntry {
125
123
  */
126
124
  export default class QueryAssist extends Component<QueryAssistProps> {
127
125
  static propTypes: {
128
- theme: PropTypes.Requireable<string>;
129
126
  /**
130
127
  * Open suggestions popup during the initial render
131
128
  */
@@ -212,7 +209,6 @@ export default class QueryAssist extends Component<QueryAssistProps> {
212
209
  'data-test': PropTypes.Requireable<string>;
213
210
  };
214
211
  static defaultProps: {
215
- theme: Theme;
216
212
  onApply: typeof noop;
217
213
  onChange: typeof noop;
218
214
  onApplySuggestion: typeof noop;
@@ -230,7 +226,6 @@ export default class QueryAssist extends Component<QueryAssistProps> {
230
226
  shouldComponentUpdate(props: QueryAssistProps, state: QueryAssistState): boolean;
231
227
  componentDidUpdate(prevProps: QueryAssistProps): void;
232
228
  static ngModelStateField: string;
233
- static Theme: typeof Theme;
234
229
  immediateState: QueryAssistChange;
235
230
  requestData?: (afterCompletion?: boolean) => void;
236
231
  ngModelStateField: string;
@@ -14,7 +14,6 @@ import PopupMenu from '../popup-menu/popup-menu';
14
14
  import LoaderInline from '../loader-inline/loader-inline';
15
15
  import Shortcuts from '../shortcuts/shortcuts';
16
16
  import rerenderHOC from '../global/rerender-hoc';
17
- import Theme from '../global/theme';
18
17
  import Button from '../button/button';
19
18
  import QueryAssistSuggestions from './query-assist__suggestions';
20
19
  import styles from './query-assist.css';
@@ -66,7 +65,6 @@ function cleanText(text) {
66
65
  */
67
66
  export default class QueryAssist extends Component {
68
67
  static propTypes = {
69
- theme: PropTypes.string,
70
68
  /**
71
69
  * Open suggestions popup during the initial render
72
70
  */
@@ -153,7 +151,6 @@ export default class QueryAssist extends Component {
153
151
  'data-test': PropTypes.string
154
152
  };
155
153
  static defaultProps = {
156
- theme: Theme.LIGHT,
157
154
  onApply: noop,
158
155
  onChange: noop,
159
156
  onApplySuggestion: noop,
@@ -247,7 +244,6 @@ export default class QueryAssist extends Component {
247
244
  }
248
245
  }
249
246
  static ngModelStateField = ngModelStateField;
250
- static Theme = Theme;
251
247
  immediateState;
252
248
  requestData;
253
249
  ngModelStateField = ngModelStateField;
@@ -756,11 +752,10 @@ export default class QueryAssist extends Component {
756
752
  return actions;
757
753
  }
758
754
  render() {
759
- const { theme, glass, 'data-test': dataTest, className, useCustomItemRender } = this.props;
755
+ const { glass, 'data-test': dataTest, className, useCustomItemRender } = this.props;
760
756
  const renderPlaceholder = !!this.props.placeholder && this.state.placeholderEnabled;
761
757
  const renderLoader = this.props.loader !== false && this.state.loading;
762
758
  const renderGlass = glass && !renderLoader;
763
- const renderUnderline = theme === Theme.DARK;
764
759
  const actions = this.renderActions();
765
760
  const inputClasses = classNames({
766
761
  [`${styles.input} ring-js-shortcuts`]: true,
@@ -769,7 +764,7 @@ export default class QueryAssist extends Component {
769
764
  [styles.inputLeftGap]: this.isRenderingGlassOrLoader() && glass,
770
765
  [styles.inputDisabled]: this.props.disabled
771
766
  });
772
- return (<div data-test={dataTests('ring-query-assist', dataTest)} className={classNames(className, styles.queryAssist, styles[theme])} role="presentation" ref={this.nodeRef}>
767
+ return (<div data-test={dataTests('ring-query-assist', dataTest)} className={classNames(className, styles.queryAssist)} role="presentation" ref={this.nodeRef}>
773
768
  {this.state.shortcuts &&
774
769
  (<Shortcuts map={this.shortcutsMap} scope={this.shortcutsScope}/>)}
775
770
 
@@ -777,7 +772,7 @@ export default class QueryAssist extends Component {
777
772
  {renderLoader && (<div className={classNames(styles.icon, styles.loader, {
778
773
  [styles.loaderOnTheRight]: !glass
779
774
  })} ref={this.loaderRef}>
780
- <LoaderInline theme={theme}/>
775
+ <LoaderInline />
781
776
  </div>)}
782
777
 
783
778
  <ContentEditable aria-label={this.props.translations.searchTitle} className={inputClasses} data-test="ring-query-assist-input" inputRef={this.inputRef} disabled={this.props.disabled} onComponentUpdate={() => this.setCaretPosition({ fromContentEditable: true })} onBlur={this.handleFocusChange} onClick={this.handleCaretMove} onCompositionStart={this.trackCompositionState} onCompositionEnd={this.trackCompositionState} onFocus={this.handleFocusChange} onInput={this.handleInput} // To support IE use the same method
@@ -789,10 +784,9 @@ export default class QueryAssist extends Component {
789
784
  })} ref={this.placeholderRef} onClick={this.handleCaretMove} data-test="query-assist-placeholder">
790
785
  {this.props.placeholder}
791
786
  </button>)}
792
- {renderUnderline && <div className={styles.focusUnderline}/>}
793
787
  {actions &&
794
788
  <div data-test="ring-query-assist-actions" className={styles.actions}>{actions}</div>}
795
- <PopupMenu hidden={!this.state.showPopup} onCloseAttempt={this.closePopup} ref={this.popupRef} anchorElement={this.node} keepMounted attached className={classNames(styles[theme], this.props.popupClassName)} directions={[PopupMenu.PopupProps.Directions.BOTTOM_RIGHT]} data={useCustomItemRender ? this.state.suggestions : this.renderSuggestions()} data-test="ring-query-assist-popup" hint={this.props.hint} hintOnSelection={this.props.hintOnSelection} left={this.getPopupOffset(this.state.suggestions)} maxHeight={PopupMenu.PopupProps.MaxHeight.SCREEN} onMouseDown={this.trackPopupMouseState} onMouseUp={this.trackPopupMouseState} onSelect={item => this.handleComplete(item)}/>
789
+ <PopupMenu hidden={!this.state.showPopup} onCloseAttempt={this.closePopup} ref={this.popupRef} anchorElement={this.node} keepMounted attached className={this.props.popupClassName} directions={[PopupMenu.PopupProps.Directions.BOTTOM_RIGHT]} data={useCustomItemRender ? this.state.suggestions : this.renderSuggestions()} data-test="ring-query-assist-popup" hint={this.props.hint} hintOnSelection={this.props.hintOnSelection} left={this.getPopupOffset(this.state.suggestions)} maxHeight={PopupMenu.PopupProps.MaxHeight.SCREEN} onMouseDown={this.trackPopupMouseState} onMouseUp={this.trackPopupMouseState} onSelect={item => this.handleComplete(item)}/>
796
790
  </div>);
797
791
  }
798
792
  }