@atlaskit/mention 21.0.7 → 21.0.9

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 (116) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_constants/package.json +8 -1
  3. package/dist/cjs/components/Mention/PrimitiveMention.js +5 -5
  4. package/dist/cjs/version.json +1 -1
  5. package/dist/es2019/components/Mention/PrimitiveMention.js +1 -1
  6. package/dist/es2019/version.json +1 -1
  7. package/dist/esm/components/Mention/PrimitiveMention.js +1 -1
  8. package/dist/esm/version.json +1 -1
  9. package/dist/types/api/ContextMentionResource.d.ts +2 -2
  10. package/dist/types/components/MentionDescriptionByline/styles.d.ts +4 -1
  11. package/dist/types/components/MentionItem/styles.d.ts +32 -8
  12. package/dist/types/components/MentionList/styles.d.ts +4 -1
  13. package/dist/types/components/MentionListError/styles.d.ts +16 -4
  14. package/dist/types/components/MentionPicker/styles.d.ts +8 -2
  15. package/dist/types/components/Scrollable/styles.d.ts +4 -1
  16. package/dist/types/components/TeamMentionHighlight/styles.d.ts +32 -10
  17. package/dist/types-ts4.0/_constants.d.ts +1 -0
  18. package/dist/types-ts4.0/api/ContextMentionResource.d.ts +23 -0
  19. package/dist/types-ts4.0/api/MentionNameClient.d.ts +11 -0
  20. package/dist/types-ts4.0/api/MentionNameResolver.d.ts +23 -0
  21. package/dist/types-ts4.0/api/MentionResource.d.ts +99 -0
  22. package/dist/types-ts4.0/api/PresenceResource.d.ts +119 -0
  23. package/dist/types-ts4.0/api/TeamMentionResource.d.ts +35 -0
  24. package/dist/types-ts4.0/api/analytics.d.ts +17 -0
  25. package/dist/types-ts4.0/components/LockCircleIcon/index.d.ts +3 -0
  26. package/dist/types-ts4.0/components/Mention/PrimitiveMention.d.ts +7 -0
  27. package/dist/types-ts4.0/components/Mention/ResourcedMention.d.ts +27 -0
  28. package/dist/types-ts4.0/components/Mention/index.d.ts +31 -0
  29. package/dist/types-ts4.0/components/Mention/ufoExperiences.d.ts +9 -0
  30. package/dist/types-ts4.0/components/MentionDescriptionByline/TeamMentionDescriptionByline.d.ts +7 -0
  31. package/dist/types-ts4.0/components/MentionDescriptionByline/UserMentionDescriptionByline.d.ts +5 -0
  32. package/dist/types-ts4.0/components/MentionDescriptionByline/index.d.ts +5 -0
  33. package/dist/types-ts4.0/components/MentionDescriptionByline/styles.d.ts +5 -0
  34. package/dist/types-ts4.0/components/MentionDescriptionByline/types.d.ts +4 -0
  35. package/dist/types-ts4.0/components/MentionItem/MentionHighlightHelpers.d.ts +3 -0
  36. package/dist/types-ts4.0/components/MentionItem/index.d.ts +16 -0
  37. package/dist/types-ts4.0/components/MentionItem/styles.d.ts +46 -0
  38. package/dist/types-ts4.0/components/MentionList/index.d.ts +41 -0
  39. package/dist/types-ts4.0/components/MentionList/styles.d.ts +8 -0
  40. package/dist/types-ts4.0/components/MentionListError/GenericErrorIllustration.d.ts +7 -0
  41. package/dist/types-ts4.0/components/MentionListError/index.d.ts +13 -0
  42. package/dist/types-ts4.0/components/MentionListError/styles.d.ts +17 -0
  43. package/dist/types-ts4.0/components/MentionPicker/index.d.ts +79 -0
  44. package/dist/types-ts4.0/components/MentionPicker/styles.d.ts +12 -0
  45. package/dist/types-ts4.0/components/MessagesIntlProvider/index.d.ts +3 -0
  46. package/dist/types-ts4.0/components/NoAccessTooltip/index.d.ts +6 -0
  47. package/dist/types-ts4.0/components/NoAccessTooltip/main.d.ts +7 -0
  48. package/dist/types-ts4.0/components/Popup/index.d.ts +26 -0
  49. package/dist/types-ts4.0/components/ResourcedMentionList/index.d.ts +50 -0
  50. package/dist/types-ts4.0/components/Scrollable/index.d.ts +11 -0
  51. package/dist/types-ts4.0/components/Scrollable/styles.d.ts +5 -0
  52. package/dist/types-ts4.0/components/TeamMentionHighlight/TeamMentionHighlightController.d.ts +17 -0
  53. package/dist/types-ts4.0/components/TeamMentionHighlight/index.d.ts +35 -0
  54. package/dist/types-ts4.0/components/TeamMentionHighlight/lazy.d.ts +4 -0
  55. package/dist/types-ts4.0/components/TeamMentionHighlight/styles.d.ts +33 -0
  56. package/dist/types-ts4.0/components/i18n.d.ts +77 -0
  57. package/dist/types-ts4.0/config/index.d.ts +5 -0
  58. package/dist/types-ts4.0/element.d.ts +3 -0
  59. package/dist/types-ts4.0/i18n/cs.d.ts +24 -0
  60. package/dist/types-ts4.0/i18n/da.d.ts +24 -0
  61. package/dist/types-ts4.0/i18n/de.d.ts +24 -0
  62. package/dist/types-ts4.0/i18n/en.d.ts +24 -0
  63. package/dist/types-ts4.0/i18n/en_GB.d.ts +24 -0
  64. package/dist/types-ts4.0/i18n/en_ZZ.d.ts +24 -0
  65. package/dist/types-ts4.0/i18n/es.d.ts +24 -0
  66. package/dist/types-ts4.0/i18n/et.d.ts +20 -0
  67. package/dist/types-ts4.0/i18n/fi.d.ts +24 -0
  68. package/dist/types-ts4.0/i18n/fr.d.ts +24 -0
  69. package/dist/types-ts4.0/i18n/hu.d.ts +24 -0
  70. package/dist/types-ts4.0/i18n/index.d.ts +35 -0
  71. package/dist/types-ts4.0/i18n/is.d.ts +24 -0
  72. package/dist/types-ts4.0/i18n/it.d.ts +24 -0
  73. package/dist/types-ts4.0/i18n/ja.d.ts +24 -0
  74. package/dist/types-ts4.0/i18n/ko.d.ts +24 -0
  75. package/dist/types-ts4.0/i18n/languages.d.ts +33 -0
  76. package/dist/types-ts4.0/i18n/nb.d.ts +24 -0
  77. package/dist/types-ts4.0/i18n/nl.d.ts +24 -0
  78. package/dist/types-ts4.0/i18n/pl.d.ts +24 -0
  79. package/dist/types-ts4.0/i18n/pt_BR.d.ts +24 -0
  80. package/dist/types-ts4.0/i18n/pt_PT.d.ts +20 -0
  81. package/dist/types-ts4.0/i18n/ro.d.ts +24 -0
  82. package/dist/types-ts4.0/i18n/ru.d.ts +24 -0
  83. package/dist/types-ts4.0/i18n/sk.d.ts +20 -0
  84. package/dist/types-ts4.0/i18n/sv.d.ts +24 -0
  85. package/dist/types-ts4.0/i18n/th.d.ts +24 -0
  86. package/dist/types-ts4.0/i18n/tr.d.ts +24 -0
  87. package/dist/types-ts4.0/i18n/uk.d.ts +24 -0
  88. package/dist/types-ts4.0/i18n/vi.d.ts +24 -0
  89. package/dist/types-ts4.0/i18n/zh.d.ts +24 -0
  90. package/dist/types-ts4.0/i18n/zh_TW.d.ts +24 -0
  91. package/dist/types-ts4.0/i18n.d.ts +1 -0
  92. package/dist/types-ts4.0/index.d.ts +19 -0
  93. package/dist/types-ts4.0/item.d.ts +2 -0
  94. package/dist/types-ts4.0/resource.d.ts +10 -0
  95. package/dist/types-ts4.0/shared-styles.d.ts +5 -0
  96. package/dist/types-ts4.0/spotlight.d.ts +3 -0
  97. package/dist/types-ts4.0/team-resource.d.ts +8 -0
  98. package/dist/types-ts4.0/typeahead.d.ts +3 -0
  99. package/dist/types-ts4.0/types.d.ts +168 -0
  100. package/dist/types-ts4.0/util/analytics.d.ts +32 -0
  101. package/dist/types-ts4.0/util/i18n.d.ts +33 -0
  102. package/dist/types-ts4.0/util/id.d.ts +2 -0
  103. package/dist/types-ts4.0/util/index.d.ts +1 -0
  104. package/dist/types-ts4.0/util/logger.d.ts +4 -0
  105. package/dist/types-ts4.0/util/mouse.d.ts +8 -0
  106. package/element/package.json +8 -1
  107. package/i18n/package.json +8 -1
  108. package/item/package.json +8 -1
  109. package/package.json +23 -15
  110. package/report.api.md +592 -405
  111. package/resource/package.json +8 -1
  112. package/shared-styles/package.json +8 -1
  113. package/spotlight/package.json +8 -1
  114. package/team-resource/package.json +8 -1
  115. package/typeahead/package.json +8 -1
  116. package/types/package.json +8 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/mention
2
2
 
3
+ ## 21.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`016d3039482`](https://bitbucket.org/atlassian/atlassian-frontend/commits/016d3039482) - Updates `@emotion/core` v10 to `@emotion/react` v11. There is no expected behavior change.
8
+
9
+ ## 21.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
14
+
3
15
  ## 21.0.7
4
16
 
5
17
  ### Patch Changes
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/_constants.js",
5
5
  "module:es2019": "../dist/es2019/_constants.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/_constants.d.ts"
7
+ "types": "../dist/types/_constants.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/_constants.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -15,7 +15,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
18
- var _core = require("@emotion/core");
18
+ var _react = require("@emotion/react");
19
19
 
20
20
  var _components = require("@atlaskit/theme/components");
21
21
 
@@ -25,7 +25,7 @@ var _tokens = require("@atlaskit/tokens");
25
25
 
26
26
  var _types = require("../../types");
27
27
 
28
- var _react = require("react");
28
+ var _react2 = require("react");
29
29
 
30
30
  var _excluded = ["mentionType"];
31
31
 
@@ -90,13 +90,13 @@ var getStyle = function getStyle(_ref, property) {
90
90
  });
91
91
  };
92
92
 
93
- var PrimitiveMention = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
93
+ var PrimitiveMention = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref2, ref) {
94
94
  var mentionType = _ref2.mentionType,
95
95
  other = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
96
96
  var theme = (0, _components.useGlobalTheme)();
97
- return (0, _core.jsx)("span", (0, _extends2.default)({
97
+ return (0, _react.jsx)("span", (0, _extends2.default)({
98
98
  ref: ref,
99
- css: (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline;\n border: 1px solid ", ";\n background: ", ";\n color: ", ";\n border-radius: 20px;\n cursor: pointer;\n padding: 0 0.3em 2px 0.23em;\n line-height: 1.714;\n font-size: 1em;\n font-weight: normal;\n word-break: break-word;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n "])), getStyle({
99
+ css: (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline;\n border: 1px solid ", ";\n background: ", ";\n color: ", ";\n border-radius: 20px;\n cursor: pointer;\n padding: 0 0.3em 2px 0.23em;\n line-height: 1.714;\n font-size: 1em;\n font-weight: normal;\n word-break: break-word;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n "])), getStyle({
100
100
  theme: theme,
101
101
  mentionType: mentionType
102
102
  }, 'borderColor'), getStyle({
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/mention",
3
- "version": "21.0.7",
3
+ "version": "21.0.9",
4
4
  "sideEffects": false
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
 
3
3
  /** @jsx jsx */
4
- import { jsx, css } from '@emotion/core';
4
+ import { jsx, css } from '@emotion/react';
5
5
  import { themed, useGlobalTheme } from '@atlaskit/theme/components';
6
6
  import { B400, B200, N500, DN800, DN100, DN80, N30A, DN30, N20 } from '@atlaskit/theme/colors';
7
7
  import { token } from '@atlaskit/tokens';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/mention",
3
- "version": "21.0.7",
3
+ "version": "21.0.9",
4
4
  "sideEffects": false
5
5
  }
@@ -7,7 +7,7 @@ var _excluded = ["mentionType"];
7
7
  var _mentionStyle, _templateObject;
8
8
 
9
9
  /** @jsx jsx */
10
- import { jsx, css } from '@emotion/core';
10
+ import { jsx, css } from '@emotion/react';
11
11
  import { themed, useGlobalTheme } from '@atlaskit/theme/components';
12
12
  import { B400, B200, N500, DN800, DN100, DN80, N30A, DN30, N20 } from '@atlaskit/theme/colors';
13
13
  import { token } from '@atlaskit/tokens';
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/mention",
3
- "version": "21.0.7",
3
+ "version": "21.0.9",
4
4
  "sideEffects": false
5
5
  }
@@ -12,8 +12,8 @@ export default class ContextMentionResource implements MentionProvider {
12
12
  private contextIdentifier;
13
13
  constructor(mentionProvider: MentionProvider, contextIdentifier: MentionContextIdentifier);
14
14
  getContextIdentifier(): MentionContextIdentifier | undefined;
15
- callWithContextIds: <K extends "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering" | "subscribe" | "unsubscribe">(f: K, declaredArgs: number) => MentionProvider[K];
16
- callDefault: <K extends "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering" | "subscribe" | "unsubscribe">(f: K) => MentionProvider[K];
15
+ callWithContextIds: <K extends "subscribe" | "unsubscribe" | "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering">(f: K, declaredArgs: number) => MentionProvider[K];
16
+ callDefault: <K extends "subscribe" | "unsubscribe" | "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering">(f: K) => MentionProvider[K];
17
17
  subscribe: (key: string, callback?: ResultCallback<MentionDescription[]> | undefined, errCallback?: ErrorCallback | undefined, infoCallback?: InfoCallback | undefined, allResultsCallback?: ResultCallback<MentionDescription[]> | undefined, analyticsCallback?: import("../types").AnalyticsCallback | undefined) => void;
18
18
  unsubscribe: (key: string) => void;
19
19
  filter: (query?: string | undefined, contextIdentifier?: MentionContextIdentifier | undefined) => void;
@@ -1,2 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const DescriptionBylineStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
2
+ export declare const DescriptionBylineStyle: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -11,12 +11,36 @@ export interface NameSectionStyleProps {
11
11
  export interface InfoSectionStyleProps {
12
12
  restricted?: boolean;
13
13
  }
14
- export declare const RowStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
15
- export declare const AvatarStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, AvatarSectionStyleProps, object>;
16
- export declare const NameSectionStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, NameSectionStyleProps, object>;
17
- export declare const FullNameStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, Pick<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement>, keyof import("react").HTMLAttributes<HTMLSpanElement>>, object>;
18
- export declare const InfoSectionStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, InfoSectionStyleProps, object>;
19
- export declare const TimeStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
14
+ export declare const RowStyle: import("@emotion/styled").StyledComponent<{
15
+ theme?: import("@emotion/react").Theme | undefined;
16
+ as?: import("react").ElementType<any> | undefined;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
+ export declare const AvatarStyle: import("@emotion/styled").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any> | undefined;
21
+ } & AvatarSectionStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
22
+ export declare const NameSectionStyle: import("@emotion/styled").StyledComponent<{
23
+ theme?: import("@emotion/react").Theme | undefined;
24
+ as?: import("react").ElementType<any> | undefined;
25
+ } & NameSectionStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
26
+ export declare const FullNameStyle: import("@emotion/styled").StyledComponent<{
27
+ theme?: import("@emotion/react").Theme | undefined;
28
+ as?: import("react").ElementType<any> | undefined;
29
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
30
+ export declare const InfoSectionStyle: import("@emotion/styled").StyledComponent<{
31
+ theme?: import("@emotion/react").Theme | undefined;
32
+ as?: import("react").ElementType<any> | undefined;
33
+ } & InfoSectionStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
34
+ export declare const TimeStyle: import("@emotion/styled").StyledComponent<{
35
+ theme?: import("@emotion/react").Theme | undefined;
36
+ as?: import("react").ElementType<any> | undefined;
37
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
20
38
  export declare const MENTION_ITEM_HEIGHT = 48;
21
- export declare const MentionItemStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, MentionItemStyleProps, object>;
22
- export declare const AccessSectionStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
39
+ export declare const MentionItemStyle: import("@emotion/styled").StyledComponent<{
40
+ theme?: import("@emotion/react").Theme | undefined;
41
+ as?: import("react").ElementType<any> | undefined;
42
+ } & MentionItemStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
43
+ export declare const AccessSectionStyle: import("@emotion/styled").StyledComponent<{
44
+ theme?: import("@emotion/react").Theme | undefined;
45
+ as?: import("react").ElementType<any> | undefined;
46
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -2,4 +2,7 @@
2
2
  export interface MentionListStyleProps {
3
3
  empty?: boolean;
4
4
  }
5
- export declare const MentionListStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, MentionListStyleProps, object>;
5
+ export declare const MentionListStyle: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme | undefined;
7
+ as?: import("react").ElementType<any> | undefined;
8
+ } & MentionListStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,5 +1,17 @@
1
1
  /// <reference types="react" />
2
- export declare const MentionListErrorStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
3
- export declare const GenericErrorVisualStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
4
- export declare const MentionListErrorHeadlineStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
5
- export declare const MentionListAdviceStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
2
+ export declare const MentionListErrorStyle: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const GenericErrorVisualStyle: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const MentionListErrorHeadlineStyle: import("@emotion/styled").StyledComponent<{
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any> | undefined;
13
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
+ export declare const MentionListAdviceStyle: import("@emotion/styled").StyledComponent<{
15
+ theme?: import("@emotion/react").Theme | undefined;
16
+ as?: import("react").ElementType<any> | undefined;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -2,5 +2,11 @@
2
2
  export interface MentionPickerStyleProps {
3
3
  visible?: boolean | string;
4
4
  }
5
- export declare const MentionPickerStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, MentionPickerStyleProps, object>;
6
- export declare const MentionPickerInfoStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
5
+ export declare const MentionPickerStyle: import("@emotion/styled").StyledComponent<{
6
+ theme?: import("@emotion/react").Theme | undefined;
7
+ as?: import("react").ElementType<any> | undefined;
8
+ } & MentionPickerStyleProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
+ export declare const MentionPickerInfoStyle: import("@emotion/styled").StyledComponent<{
10
+ theme?: import("@emotion/react").Theme | undefined;
11
+ as?: import("react").ElementType<any> | undefined;
12
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,2 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const ScrollableStyle: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
2
+ export declare const ScrollableStyle: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,11 +1,33 @@
1
1
  /// <reference types="react" />
2
- export declare const Actions: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
3
- export declare const Title: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("@emotion/styled-base/types/helper").Overwrapped<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("@atlaskit/theme").ThemeProps | undefined>, never>, {
4
- __ATLASKIT_THEME__: import("@atlaskit/theme").Theme;
5
- }>;
6
- export declare const Heading: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
7
- export declare const Card: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
8
- export declare const Content: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
9
- export declare const Section: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
10
- export declare const Aside: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
11
- export declare const Body: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
2
+ export declare const Actions: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const Title: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const Heading: import("@emotion/styled").StyledComponent<{
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any> | undefined;
13
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
+ export declare const Card: import("@emotion/styled").StyledComponent<{
15
+ theme?: import("@emotion/react").Theme | undefined;
16
+ as?: import("react").ElementType<any> | undefined;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
+ export declare const Content: import("@emotion/styled").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any> | undefined;
21
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
+ export declare const Section: import("@emotion/styled").StyledComponent<{
23
+ theme?: import("@emotion/react").Theme | undefined;
24
+ as?: import("react").ElementType<any> | undefined;
25
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
26
+ export declare const Aside: import("@emotion/styled").StyledComponent<{
27
+ theme?: import("@emotion/react").Theme | undefined;
28
+ as?: import("react").ElementType<any> | undefined;
29
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
30
+ export declare const Body: import("@emotion/styled").StyledComponent<{
31
+ theme?: import("@emotion/react").Theme | undefined;
32
+ as?: import("react").ElementType<any> | undefined;
33
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1 @@
1
+ export declare const ELEMENTS_CHANNEL = "fabric-elements";
@@ -0,0 +1,23 @@
1
+ import { MentionProvider, MentionContextIdentifier, ErrorCallback, InfoCallback, ResultCallback } from './MentionResource';
2
+ import { MentionDescription, InviteFromMentionProvider } from '../types';
3
+ export type { MentionDescription };
4
+ export declare type MentionProviderFunctions = Omit<{
5
+ [Key in keyof MentionProvider]: MentionProvider[Key] extends Function ? MentionProvider[Key] : never;
6
+ }, keyof InviteFromMentionProvider>;
7
+ /**
8
+ * This component is stateful and should be instantianted per contextIdentifiers.
9
+ */
10
+ export default class ContextMentionResource implements MentionProvider {
11
+ private mentionProvider;
12
+ private contextIdentifier;
13
+ constructor(mentionProvider: MentionProvider, contextIdentifier: MentionContextIdentifier);
14
+ getContextIdentifier(): MentionContextIdentifier | undefined;
15
+ callWithContextIds: <K extends "subscribe" | "unsubscribe" | "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering">(f: K, declaredArgs: number) => MentionProvider[K];
16
+ callDefault: <K extends "subscribe" | "unsubscribe" | "filter" | "recordMentionSelection" | "shouldHighlightMention" | "isFiltering">(f: K) => MentionProvider[K];
17
+ subscribe: (key: string, callback?: ResultCallback<MentionDescription[]> | undefined, errCallback?: ErrorCallback | undefined, infoCallback?: InfoCallback | undefined, allResultsCallback?: ResultCallback<MentionDescription[]> | undefined, analyticsCallback?: import("../types").AnalyticsCallback | undefined) => void;
18
+ unsubscribe: (key: string) => void;
19
+ filter: (query?: string | undefined, contextIdentifier?: MentionContextIdentifier | undefined) => void;
20
+ recordMentionSelection: (mention: MentionDescription, contextIdentifier?: MentionContextIdentifier | undefined) => void;
21
+ shouldHighlightMention: (mention: MentionDescription) => boolean;
22
+ isFiltering: (query: string) => boolean;
23
+ }
@@ -0,0 +1,11 @@
1
+ import { MentionNameDetails } from '../types';
2
+ export interface MentionNameClient {
3
+ getLookupLimit(): number;
4
+ lookupMentionNames(ids: string[]): Promise<MentionNameDetails[]>;
5
+ }
6
+ /**
7
+ * Supports the Atlassian Profile retrieval service.
8
+ *
9
+ * Uses:
10
+ * https://statlas.prod.atl-paas.net/swagger-ui-2.2.6/index.html?url=https://profile-retrieval-service.prod.atl-paas.net:443/api/swagger.yaml#!/default/getUsersByIds
11
+ */
@@ -0,0 +1,23 @@
1
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
2
+ import { MentionNameDetails, MentionNameResolver } from '../types';
3
+ import { MentionNameClient } from './MentionNameClient';
4
+ export type { MentionNameResolver } from '../types';
5
+ export declare class DefaultMentionNameResolver implements MentionNameResolver {
6
+ static waitForBatch: number;
7
+ private client;
8
+ private nameCache;
9
+ private nameQueue;
10
+ private nameStartTime;
11
+ private processingQueue;
12
+ private debounce;
13
+ private fireHydrationEvent;
14
+ constructor(client: MentionNameClient, analyticsProps?: WithAnalyticsEventsProps);
15
+ lookupName(id: string): Promise<MentionNameDetails> | MentionNameDetails;
16
+ cacheName(id: string, name: string): void;
17
+ private scheduleProcessQueue;
18
+ private isQueueAtLimit;
19
+ private splitQueueAtLimit;
20
+ private resolveQueueItem;
21
+ private processQueue;
22
+ private fireAnalytics;
23
+ }
@@ -0,0 +1,99 @@
1
+ import { AnalyticsCallback, ErrorCallback, InfoCallback, InviteExperimentCohort, InviteFlow, MentionContextIdentifier, MentionDescription, MentionNameDetails, MentionProvider, MentionResourceConfig, MentionsResult, MentionStats, ResourceProvider, ResultCallback, UserRole } from '../types';
2
+ export type { MentionStats, ResultCallback, ErrorCallback, InfoCallback, MentionResourceConfig, ResourceProvider, MentionContextIdentifier, MentionProvider, } from '../types';
3
+ export interface TeamMentionResourceConfig extends MentionResourceConfig {
4
+ teamLinkResolver?: (teamId: string) => string;
5
+ teamHighlightEnabled?: boolean;
6
+ createTeamPath?: string;
7
+ }
8
+ export interface TeamMentionProvider extends MentionProvider {
9
+ mentionTypeaheadHighlightEnabled: () => boolean;
10
+ mentionTypeaheadCreateTeamPath: () => string | undefined;
11
+ }
12
+ /**
13
+ * Support
14
+ */
15
+ export interface ResolvingMentionProvider extends MentionProvider {
16
+ resolveMentionName(id: string): Promise<MentionNameDetails> | MentionNameDetails;
17
+ cacheMentionName(id: string, mentionName: string): void;
18
+ supportsMentionNameResolving(): boolean;
19
+ }
20
+ declare class AbstractResource<Result> implements ResourceProvider<Result> {
21
+ protected changeListeners: Map<string, ResultCallback<Result>>;
22
+ protected errListeners: Map<string, ErrorCallback>;
23
+ protected infoListeners: Map<string, InfoCallback>;
24
+ protected allResultsListeners: Map<string, ResultCallback<Result>>;
25
+ protected analyticsListeners: Map<string, AnalyticsCallback>;
26
+ constructor();
27
+ subscribe(key: string, callback?: ResultCallback<Result>, errCallback?: ErrorCallback, infoCallback?: InfoCallback, allResultsCallback?: ResultCallback<Result>, analyticsListeners?: AnalyticsCallback): void;
28
+ unsubscribe(key: string): void;
29
+ }
30
+ declare class AbstractMentionResource extends AbstractResource<MentionDescription[]> implements MentionProvider {
31
+ shouldHighlightMention(_mention: MentionDescription): boolean;
32
+ filter(query?: string): void;
33
+ recordMentionSelection(_mention: MentionDescription): void;
34
+ isFiltering(_query: string): boolean;
35
+ protected _notifyListeners(mentionsResult: MentionsResult, stats?: MentionStats): void;
36
+ protected _notifyAllResultsListeners(mentionsResult: MentionsResult): void;
37
+ protected _notifyErrorListeners(error: Error, query?: string): void;
38
+ protected _notifyInfoListeners(info: string): void;
39
+ protected _notifyAnalyticsListeners(event: string, actionSubject: string, action: string, attributes?: {
40
+ [key: string]: any;
41
+ }): void;
42
+ }
43
+ /**
44
+ * Provides a Javascript API
45
+ */
46
+ export declare class MentionResource extends AbstractMentionResource implements ResolvingMentionProvider {
47
+ private config;
48
+ private lastReturnedSearch;
49
+ private activeSearches;
50
+ productName?: string;
51
+ shouldEnableInvite: boolean;
52
+ inviteExperimentCohort?: InviteExperimentCohort;
53
+ userRole: UserRole;
54
+ onInviteItemClick?: (flow: InviteFlow) => void;
55
+ constructor(config: MentionResourceConfig);
56
+ shouldHighlightMention(mention: MentionDescription): boolean;
57
+ notify(searchTime: number, mentionResult: MentionsResult, query?: string): void;
58
+ notifyError(error: Error, query?: string): void;
59
+ filter(query?: string, contextIdentifier?: MentionContextIdentifier): Promise<void>;
60
+ recordMentionSelection(mention: MentionDescription, contextIdentifier?: MentionContextIdentifier): Promise<void>;
61
+ isFiltering(query: string): boolean;
62
+ resolveMentionName(id: string): Promise<MentionNameDetails> | MentionNameDetails;
63
+ cacheMentionName(id: string, mentionName: string): void;
64
+ supportsMentionNameResolving(): boolean;
65
+ protected updateActiveSearches(query: string): void;
66
+ protected verifyMentionConfig(config: MentionResourceConfig): void;
67
+ private initialState;
68
+ /**
69
+ * Clear a context object to generate query params by removing empty
70
+ * strings, `undefined` and empty values.
71
+ *
72
+ * @param contextIdentifier the current context identifier
73
+ * @returns a safe context for query encoding
74
+ */
75
+ private clearContext;
76
+ private getQueryParams;
77
+ /**
78
+ * Returns the initial mention display list before a search is performed for the specified
79
+ * container.
80
+ *
81
+ * @param contextIdentifier
82
+ * @returns Promise
83
+ */
84
+ protected remoteInitialState(contextIdentifier?: MentionContextIdentifier): Promise<MentionsResult>;
85
+ private search;
86
+ protected remoteSearch(query: string, contextIdentifier?: MentionContextIdentifier): Promise<MentionsResult>;
87
+ private transformServiceResponse;
88
+ recordSelection(mention: MentionDescription, contextIdentifier?: MentionContextIdentifier): Promise<void>;
89
+ }
90
+ export declare class HttpError implements Error {
91
+ name: string;
92
+ message: string;
93
+ statusCode: number;
94
+ stack?: string;
95
+ constructor(statusCode: number, statusMessage: string);
96
+ }
97
+ export declare const isResolvingMentionProvider: (p: any) => p is ResolvingMentionProvider;
98
+ export { AbstractResource, AbstractMentionResource };
99
+ export default MentionResource;
@@ -0,0 +1,119 @@
1
+ import { Presence } from '../types';
2
+ import { AbstractResource, ResourceProvider } from './MentionResource';
3
+ export interface PresenceMap {
4
+ [userId: string]: Presence;
5
+ }
6
+ export interface PresenceResourceConfig {
7
+ url: string;
8
+ cloudId: string;
9
+ productId?: string;
10
+ cache?: PresenceCache;
11
+ cacheExpiry?: number;
12
+ parser?: PresenceParser;
13
+ }
14
+ export interface PresenceCache {
15
+ contains(userId: string): boolean;
16
+ get(userId: string): Presence;
17
+ getBulk(userIds: string[]): PresenceMap;
18
+ getMissingUserIds(userIds: string[]): string[];
19
+ update(presUpdate: PresenceMap): void;
20
+ }
21
+ export interface PresenceResponse {
22
+ data: Data;
23
+ }
24
+ export interface Data {
25
+ PresenceBulk: PresenceBulk[];
26
+ }
27
+ export interface PresenceBulk {
28
+ userId: string;
29
+ state: null | string;
30
+ type: null | string;
31
+ date: null | string;
32
+ message: null | string;
33
+ stateMetadata?: string;
34
+ }
35
+ export interface PresenceParser {
36
+ mapState(state: string): string;
37
+ parse(response: PresenceResponse): PresenceMap;
38
+ }
39
+ export interface PresenceProvider extends ResourceProvider<PresenceMap> {
40
+ refreshPresence(userIds: string[]): void;
41
+ }
42
+ declare class AbstractPresenceResource extends AbstractResource<PresenceMap> implements PresenceProvider {
43
+ refreshPresence(userIds: string[]): void;
44
+ protected notifyListeners(presences: PresenceMap): void;
45
+ }
46
+ declare class PresenceResource extends AbstractPresenceResource {
47
+ private config;
48
+ private presenceCache;
49
+ private presenceParser;
50
+ constructor(config: PresenceResourceConfig);
51
+ refreshPresence(userIds: string[]): void;
52
+ private retrievePresence;
53
+ private queryDirectoryForPresences;
54
+ private static cleanUrl;
55
+ }
56
+ export declare class DefaultPresenceCache implements PresenceCache {
57
+ private static readonly defaultTimeout;
58
+ private static readonly defaultFlushTrigger;
59
+ private cache;
60
+ private size;
61
+ private expiryInMillis;
62
+ private flushTrigger;
63
+ constructor(cacheTimeout?: number, cacheTrigger?: number);
64
+ /**
65
+ * Precondition: _delete is only called internally if userId exists in cache
66
+ * Removes cache entry
67
+ * @param userId
68
+ */
69
+ private _delete;
70
+ /**
71
+ * Checks a cache entry and calls delete if the info has expired
72
+ * @param userId
73
+ */
74
+ private _deleteIfExpired;
75
+ /**
76
+ * Cleans expired entries from cache
77
+ */
78
+ private _removeExpired;
79
+ /**
80
+ * Checks if a user exists in the cache
81
+ * @param userId
82
+ */
83
+ contains(userId: string): boolean;
84
+ /**
85
+ * Retrieves a presence from the cache after checking for expired entries
86
+ * @param userId - to index the cache
87
+ * @returns Presence - the presence that matches the userId
88
+ */
89
+ get(userId: string): Presence;
90
+ /**
91
+ * Retrieve multiple presences at once from the cache
92
+ * @param userIds - to index the cache
93
+ * @returns PresenceMap - A map of userIds to cached Presences
94
+ */
95
+ getBulk(userIds: string[]): PresenceMap;
96
+ /**
97
+ * For a given list of ids, returns a subset
98
+ * of all the ids with missing cache entries.
99
+ * @param userIds - to index the cache
100
+ * @returns string[] - ids missing from the cache
101
+ */
102
+ getMissingUserIds(userIds: string[]): string[];
103
+ /**
104
+ * Precondition: presMap only contains ids of users not in cache
105
+ * expired users must first be removed then reinserted with updated presence
106
+ * Updates the cache by adding the new Presence entries and setting the expiry time
107
+ * @param presMap
108
+ */
109
+ update(presMap: PresenceMap): void;
110
+ }
111
+ export declare class DefaultPresenceParser implements PresenceParser {
112
+ static FOCUS_STATE: string;
113
+ mapState(state: string): string;
114
+ parse(response: PresenceResponse): PresenceMap;
115
+ private static extractState;
116
+ private static isFocusState;
117
+ }
118
+ export { AbstractPresenceResource };
119
+ export default PresenceResource;
@@ -0,0 +1,35 @@
1
+ import { MentionsResult } from '../types';
2
+ import MentionResource, { MentionContextIdentifier, MentionResourceConfig, TeamMentionResourceConfig, TeamMentionProvider } from './MentionResource';
3
+ /**
4
+ * Provides a Javascript API to fetch users and teams
5
+ * In future we will have a new endpoint to return both users and teams, we can
6
+ * remove this class at this point
7
+ */
8
+ export default class TeamMentionResource extends MentionResource implements TeamMentionProvider {
9
+ private readonly teamMentionConfig;
10
+ private lastSearchQuery?;
11
+ private lastReturnedSearchTeam;
12
+ constructor(userMentionConfig: MentionResourceConfig, teamMentionConfig: TeamMentionResourceConfig);
13
+ filter(query?: string, contextIdentifier?: MentionContextIdentifier): Promise<void>;
14
+ mentionTypeaheadHighlightEnabled: () => boolean;
15
+ mentionTypeaheadCreateTeamPath: () => string | undefined;
16
+ /**
17
+ * Returns the initial mention display list before a search is performed for the specified
18
+ * container.
19
+ */
20
+ private remoteInitialStateTeamAndUsers;
21
+ /**
22
+ * Both user and team requests are not blocked together
23
+ * If users request arrives first, show users. Show teams when team request arrives.
24
+ * If team request arrives first, block waiting for user request, then show both
25
+ * If one errors, show the non-erroring one
26
+ * If both error, show error
27
+ */
28
+ private handleBothRequests;
29
+ notify(searchTime: number, mentionResult: MentionsResult, query?: string): void;
30
+ private getQueryParamsOfTeamMentionConfig;
31
+ private remoteUserSearch;
32
+ private remoteTeamSearch;
33
+ private convertTeamResultToMentionResult;
34
+ private trimTeamARI;
35
+ }