@atlaskit/mention 22.1.1 → 22.1.3

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 (99) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/compass.yml +43 -0
  3. package/dist/cjs/i18n/en_ZZ.js +1 -4
  4. package/dist/cjs/util/analytics.js +10 -9
  5. package/dist/cjs/version.json +1 -1
  6. package/dist/es2019/i18n/en_ZZ.js +1 -4
  7. package/dist/es2019/util/analytics.js +2 -1
  8. package/dist/es2019/version.json +1 -1
  9. package/dist/esm/i18n/en_ZZ.js +1 -4
  10. package/dist/esm/util/analytics.js +2 -1
  11. package/dist/esm/version.json +1 -1
  12. package/dist/types/i18n/en_ZZ.d.ts +0 -4
  13. package/dist/types-ts4.5/_constants.d.ts +1 -0
  14. package/dist/types-ts4.5/api/ContextMentionResource.d.ts +23 -0
  15. package/dist/types-ts4.5/api/MentionNameClient.d.ts +11 -0
  16. package/dist/types-ts4.5/api/MentionNameResolver.d.ts +23 -0
  17. package/dist/types-ts4.5/api/MentionResource.d.ts +93 -0
  18. package/dist/types-ts4.5/api/PresenceResource.d.ts +119 -0
  19. package/dist/types-ts4.5/api/TeamMentionResource.d.ts +33 -0
  20. package/dist/types-ts4.5/api/analytics.d.ts +17 -0
  21. package/dist/types-ts4.5/components/LockCircleIcon/index.d.ts +3 -0
  22. package/dist/types-ts4.5/components/Mention/PrimitiveMention.d.ts +7 -0
  23. package/dist/types-ts4.5/components/Mention/ResourcedMention.d.ts +27 -0
  24. package/dist/types-ts4.5/components/Mention/index.d.ts +31 -0
  25. package/dist/types-ts4.5/components/Mention/ufoExperiences.d.ts +9 -0
  26. package/dist/types-ts4.5/components/MentionDescriptionByline/TeamMentionDescriptionByline.d.ts +7 -0
  27. package/dist/types-ts4.5/components/MentionDescriptionByline/UserMentionDescriptionByline.d.ts +5 -0
  28. package/dist/types-ts4.5/components/MentionDescriptionByline/index.d.ts +5 -0
  29. package/dist/types-ts4.5/components/MentionDescriptionByline/styles.d.ts +5 -0
  30. package/dist/types-ts4.5/components/MentionDescriptionByline/types.d.ts +4 -0
  31. package/dist/types-ts4.5/components/MentionItem/MentionHighlightHelpers.d.ts +3 -0
  32. package/dist/types-ts4.5/components/MentionItem/index.d.ts +16 -0
  33. package/dist/types-ts4.5/components/MentionItem/styles.d.ts +46 -0
  34. package/dist/types-ts4.5/components/MentionList/index.d.ts +41 -0
  35. package/dist/types-ts4.5/components/MentionList/styles.d.ts +8 -0
  36. package/dist/types-ts4.5/components/MentionListError/GenericErrorIllustration.d.ts +7 -0
  37. package/dist/types-ts4.5/components/MentionListError/index.d.ts +13 -0
  38. package/dist/types-ts4.5/components/MentionListError/styles.d.ts +17 -0
  39. package/dist/types-ts4.5/components/MentionPicker/index.d.ts +77 -0
  40. package/dist/types-ts4.5/components/MentionPicker/styles.d.ts +12 -0
  41. package/dist/types-ts4.5/components/MessagesIntlProvider/index.d.ts +3 -0
  42. package/dist/types-ts4.5/components/NoAccessTooltip/index.d.ts +6 -0
  43. package/dist/types-ts4.5/components/NoAccessTooltip/main.d.ts +7 -0
  44. package/dist/types-ts4.5/components/Popup/index.d.ts +26 -0
  45. package/dist/types-ts4.5/components/ResourcedMentionList/index.d.ts +46 -0
  46. package/dist/types-ts4.5/components/Scrollable/index.d.ts +11 -0
  47. package/dist/types-ts4.5/components/Scrollable/styles.d.ts +5 -0
  48. package/dist/types-ts4.5/components/i18n.d.ts +57 -0
  49. package/dist/types-ts4.5/config/index.d.ts +5 -0
  50. package/dist/types-ts4.5/element.d.ts +3 -0
  51. package/dist/types-ts4.5/i18n/cs.d.ts +20 -0
  52. package/dist/types-ts4.5/i18n/da.d.ts +20 -0
  53. package/dist/types-ts4.5/i18n/de.d.ts +20 -0
  54. package/dist/types-ts4.5/i18n/en.d.ts +20 -0
  55. package/dist/types-ts4.5/i18n/en_GB.d.ts +20 -0
  56. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +20 -0
  57. package/dist/types-ts4.5/i18n/es.d.ts +20 -0
  58. package/dist/types-ts4.5/i18n/et.d.ts +20 -0
  59. package/dist/types-ts4.5/i18n/fi.d.ts +20 -0
  60. package/dist/types-ts4.5/i18n/fr.d.ts +20 -0
  61. package/dist/types-ts4.5/i18n/hu.d.ts +20 -0
  62. package/dist/types-ts4.5/i18n/index.d.ts +35 -0
  63. package/dist/types-ts4.5/i18n/is.d.ts +24 -0
  64. package/dist/types-ts4.5/i18n/it.d.ts +20 -0
  65. package/dist/types-ts4.5/i18n/ja.d.ts +20 -0
  66. package/dist/types-ts4.5/i18n/ko.d.ts +20 -0
  67. package/dist/types-ts4.5/i18n/languages.d.ts +33 -0
  68. package/dist/types-ts4.5/i18n/nb.d.ts +20 -0
  69. package/dist/types-ts4.5/i18n/nl.d.ts +20 -0
  70. package/dist/types-ts4.5/i18n/pl.d.ts +20 -0
  71. package/dist/types-ts4.5/i18n/pt_BR.d.ts +20 -0
  72. package/dist/types-ts4.5/i18n/pt_PT.d.ts +20 -0
  73. package/dist/types-ts4.5/i18n/ro.d.ts +24 -0
  74. package/dist/types-ts4.5/i18n/ru.d.ts +20 -0
  75. package/dist/types-ts4.5/i18n/sk.d.ts +20 -0
  76. package/dist/types-ts4.5/i18n/sv.d.ts +20 -0
  77. package/dist/types-ts4.5/i18n/th.d.ts +20 -0
  78. package/dist/types-ts4.5/i18n/tr.d.ts +20 -0
  79. package/dist/types-ts4.5/i18n/uk.d.ts +20 -0
  80. package/dist/types-ts4.5/i18n/vi.d.ts +20 -0
  81. package/dist/types-ts4.5/i18n/zh.d.ts +20 -0
  82. package/dist/types-ts4.5/i18n/zh_TW.d.ts +20 -0
  83. package/dist/types-ts4.5/i18n.d.ts +1 -0
  84. package/dist/types-ts4.5/index.d.ts +17 -0
  85. package/dist/types-ts4.5/item.d.ts +2 -0
  86. package/dist/types-ts4.5/resource.d.ts +10 -0
  87. package/dist/types-ts4.5/shared-styles.d.ts +5 -0
  88. package/dist/types-ts4.5/team-resource.d.ts +8 -0
  89. package/dist/types-ts4.5/typeahead.d.ts +3 -0
  90. package/dist/types-ts4.5/types.d.ts +168 -0
  91. package/dist/types-ts4.5/util/analytics.d.ts +30 -0
  92. package/dist/types-ts4.5/util/i18n.d.ts +29 -0
  93. package/dist/types-ts4.5/util/id.d.ts +2 -0
  94. package/dist/types-ts4.5/util/index.d.ts +1 -0
  95. package/dist/types-ts4.5/util/logger.d.ts +4 -0
  96. package/dist/types-ts4.5/util/mouse.d.ts +8 -0
  97. package/package.json +4 -9
  98. package/report.api.md +6 -6
  99. package/tmp/api-report-tmp.d.ts +818 -0
@@ -0,0 +1,8 @@
1
+ import MentionResource, { AbstractMentionResource, MentionContextIdentifier, MentionProvider, MentionStats, MentionResourceConfig } from './api/MentionResource';
2
+ import TeamMentionResource from './api/TeamMentionResource';
3
+ import PresenceResource, { PresenceProvider, AbstractPresenceResource } from './api/PresenceResource';
4
+ import { MentionDescription, MentionsResult, isSpecialMention, TeamMember } from './types';
5
+ import { ELEMENTS_CHANNEL } from './_constants';
6
+ import ContextMentionResource from './api/ContextMentionResource';
7
+ export { ContextMentionResource, MentionResource, TeamMentionResource, PresenceResource, AbstractMentionResource, AbstractPresenceResource, isSpecialMention, ELEMENTS_CHANNEL, };
8
+ export type { MentionProvider, PresenceProvider, MentionDescription, MentionsResult, MentionContextIdentifier, MentionStats, TeamMember, MentionResourceConfig, };
@@ -0,0 +1,3 @@
1
+ import { MentionPickerWithAnalytics as MentionPicker } from './components/MentionPicker';
2
+ export { MentionPicker as MentionTypeAhead, };
3
+ export default MentionPicker;
@@ -0,0 +1,168 @@
1
+ import { SyntheticEvent } from 'react';
2
+ import { ServiceConfig } from '@atlaskit/util-service-support/types';
3
+ export interface MentionNameResolver {
4
+ lookupName(id: string): Promise<MentionNameDetails> | MentionNameDetails;
5
+ cacheName(id: string, name: string): void;
6
+ }
7
+ export type MentionStats = {
8
+ [key: string]: any;
9
+ };
10
+ export interface ResultCallback<T> {
11
+ (result: T, query?: string, stats?: MentionStats): void;
12
+ }
13
+ export interface ErrorCallback {
14
+ (error: Error, query?: string): void;
15
+ }
16
+ export interface InfoCallback {
17
+ (info: string): void;
18
+ }
19
+ export interface AnalyticsCallback {
20
+ (event: string, actionSubject: string, action: string, attributes?: {
21
+ [key: string]: any;
22
+ }): void;
23
+ }
24
+ export interface MentionResourceConfig extends ServiceConfig {
25
+ containerId?: string;
26
+ productId?: string;
27
+ shouldHighlightMention?: (mention: MentionDescription) => boolean;
28
+ inviteExperimentCohort?: InviteExperimentCohort;
29
+ mentionNameResolver?: MentionNameResolver;
30
+ shouldEnableInvite?: boolean;
31
+ onInviteItemClick?: (flow: InviteFlow) => void;
32
+ userRole?: UserRole;
33
+ productName?: string;
34
+ debounceTime?: number;
35
+ }
36
+ export interface ResourceProvider<Result> {
37
+ /**
38
+ * Subscribe to ResourceProvider results
39
+ *
40
+ * @param {string} key subscriber key used to unsubscribe
41
+ * @param {ResultCallback<Result>} callback This callback only receives latest results
42
+ * @param {ErrorCallback} errCallback This callback will errors
43
+ * @param {InfoCallback} infoCallback This callback will info
44
+ * @param {ResultCallback<Result>} allResultsCallback This callback will receive all results
45
+ */
46
+ subscribe(key: string, callback?: ResultCallback<Result>, errCallback?: ErrorCallback, infoCallback?: InfoCallback, allResultsCallback?: ResultCallback<Result>, analyticsCallback?: AnalyticsCallback): void;
47
+ /**
48
+ * Unsubscribe to this resource provider results
49
+ * @param {string} key key used when subscribing
50
+ */
51
+ unsubscribe(key: string): void;
52
+ }
53
+ export type MentionContextIdentifier = {
54
+ containerId?: string;
55
+ objectId?: string;
56
+ childObjectId?: string;
57
+ sessionId?: string;
58
+ };
59
+ export interface MentionProvider extends ResourceProvider<MentionDescription[]>, InviteFromMentionProvider {
60
+ filter(query?: string, contextIdentifier?: MentionContextIdentifier): void;
61
+ recordMentionSelection(mention: MentionDescription, contextIdentifier?: MentionContextIdentifier): void;
62
+ shouldHighlightMention(mention: MentionDescription): boolean;
63
+ isFiltering(query: string): boolean;
64
+ }
65
+ export interface HighlightDetail {
66
+ start: number;
67
+ end: number;
68
+ }
69
+ export interface Highlight {
70
+ name: HighlightDetail[];
71
+ mentionName: HighlightDetail[];
72
+ nickname: HighlightDetail[];
73
+ }
74
+ export interface Presence {
75
+ time?: string;
76
+ status?: string;
77
+ }
78
+ export type LozengeColor = 'default' | 'success' | 'removed' | 'inprogress' | 'new' | 'moved';
79
+ export interface LozengeProps {
80
+ text: React.ReactNode;
81
+ appearance?: LozengeColor;
82
+ }
83
+ export interface MentionDescription {
84
+ id: string;
85
+ avatarUrl?: string;
86
+ name?: string;
87
+ mentionName?: string;
88
+ nickname?: string;
89
+ highlight?: Highlight;
90
+ lozenge?: string | LozengeProps;
91
+ presence?: Presence;
92
+ accessLevel?: string;
93
+ inContext?: boolean;
94
+ userType?: string;
95
+ context?: MentionDescContext;
96
+ source?: string;
97
+ }
98
+ export interface MentionDescContext {
99
+ members: TeamMember[];
100
+ includesYou: boolean;
101
+ memberCount: number;
102
+ teamLink: string;
103
+ }
104
+ export interface MentionsResult {
105
+ mentions: MentionDescription[];
106
+ query: string;
107
+ }
108
+ export interface TeamMember {
109
+ id: string;
110
+ name: string;
111
+ }
112
+ export interface Team {
113
+ id: string;
114
+ smallAvatarImageUrl: string;
115
+ displayName: string;
116
+ members: TeamMember[];
117
+ includesYou: boolean;
118
+ memberCount: number;
119
+ highlight?: Highlight;
120
+ }
121
+ export type MentionEventHandler = (mentionId: string, text: string, event?: SyntheticEvent<HTMLSpanElement>) => void;
122
+ export interface OnMentionEvent {
123
+ (mention: MentionDescription, event?: SyntheticEvent<any>): void;
124
+ }
125
+ export declare enum MentionType {
126
+ SELF = 0,
127
+ RESTRICTED = 1,
128
+ DEFAULT = 2
129
+ }
130
+ export declare enum UserAccessLevel {
131
+ NONE = 0,
132
+ SITE = 1,
133
+ APPLICATION = 2,
134
+ CONTAINER = 3
135
+ }
136
+ export declare enum UserType {
137
+ DEFAULT = 0,
138
+ SPECIAL = 1,
139
+ APP = 2,
140
+ TEAM = 3,
141
+ SYSTEM = 4
142
+ }
143
+ export declare enum MentionNameStatus {
144
+ UNKNOWN = 0,
145
+ SERVICE_ERROR = 1,
146
+ OK = 2
147
+ }
148
+ export interface MentionNameDetails {
149
+ id: string;
150
+ name?: string;
151
+ status: MentionNameStatus;
152
+ }
153
+ export declare function isRestricted(accessLevel?: string): boolean;
154
+ export declare function isSpecialMention(mention: MentionDescription): boolean;
155
+ export declare function isAppMention(mention: MentionDescription): boolean | "" | undefined;
156
+ export declare function isTeamMention(mention: MentionDescription): boolean | "" | undefined;
157
+ export declare function isSpecialMentionText(mentionText: string): boolean | "";
158
+ export declare const isPromise: <T>(p: any) => p is Promise<T>;
159
+ export type InviteFlow = 'mention' | 'assign';
160
+ export type UserRole = 'admin' | 'trusted' | 'basic';
161
+ export type InviteExperimentCohort = 'variation' | 'control' | 'not-enrolled';
162
+ export interface InviteFromMentionProvider {
163
+ productName?: string;
164
+ shouldEnableInvite?: boolean;
165
+ inviteExperimentCohort?: InviteExperimentCohort;
166
+ onInviteItemClick?(flow: InviteFlow): void;
167
+ userRole?: UserRole;
168
+ }
@@ -0,0 +1,30 @@
1
+ import { UIAnalyticsEvent, WithAnalyticsEventsProps, CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
2
+ import { GasPayload } from '@atlaskit/analytics-gas-types';
3
+ export declare const SLI_EVENT_TYPE = "sli";
4
+ export declare const SMART_EVENT_TYPE = "smart";
5
+ export declare enum SliNames {
6
+ SEARCH = "searchUser",
7
+ SEARCH_TEAM = "searchTeam",
8
+ INITIAL_STATE = "initialState",
9
+ SELECT = "select",
10
+ SELECT_TEAM = "selectTeam"
11
+ }
12
+ export declare enum ComponentNames {
13
+ TYPEAHEAD = "mentionTypeahead",
14
+ MENTION = "mention"
15
+ }
16
+ export declare enum Actions {
17
+ VIEWED = "viewed",
18
+ CLICKED = "clicked",
19
+ CLOSED = "closed",
20
+ SUCCEEDED = "succeeded",
21
+ FAILED = "failed"
22
+ }
23
+ export declare const fireAnalyticsMentionTypeaheadEvent: (props: WithAnalyticsEventsProps) => (action: string, duration: number, userIds?: string[], query?: string) => void;
24
+ export declare const fireAnalyticsMentionEvent: (createEvent: CreateUIAnalyticsEvent) => (actionSubject: string, action: string, text: string, id: string, accessLevel?: string) => UIAnalyticsEvent;
25
+ export declare const fireSliAnalyticsEvent: (props: WithAnalyticsEventsProps) => (actionSubject: string, action: string) => void;
26
+ export declare const buildSliPayload: (actionSubject: string, action: string, attributes?: {
27
+ [key: string]: any;
28
+ } | undefined) => GasPayload;
29
+ export declare const fireAnalyticsMentionHydrationEvent: (props: WithAnalyticsEventsProps) => (action: string, userId: string, fromCache: boolean, duration: number) => void;
30
+ export declare const fireAnalytics: (firePrivateAnalyticsEvent?: Function) => (eventName: string, text: string, accessLevel?: string) => void;
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { MessageDescriptor } from 'react-intl-next';
3
+ export type Formatter = (props: {
4
+ values?: {
5
+ [k: string]: string;
6
+ };
7
+ children?(props: string): React.ReactElement;
8
+ }) => React.ReactElement | null;
9
+ type FormatterFactory = (messageDescriptor: MessageDescriptor) => Formatter;
10
+ export declare const propFormatter: FormatterFactory;
11
+ export declare const UnknownUserError: Formatter;
12
+ export declare const NoAccessWarning: Formatter;
13
+ export declare const NoAccessLabel: Formatter;
14
+ export declare const DefaultHeadline: Formatter;
15
+ export declare const DefaultAdvisedAction: Formatter;
16
+ export declare const LoginAgain: Formatter;
17
+ export declare const DifferentText: Formatter;
18
+ /**
19
+ * Tries to get the most specific messages bundle for a given locale.
20
+ *
21
+ * Strategy:
22
+ * 1. Try to find messages with the exact string (i.e. 'fr_FR')
23
+ * 2. If that doesn't work, try to find messages for the country locale (i.e. 'fr')
24
+ * 3. If that doesn't work, return english messages as a fallback.
25
+ *
26
+ * @param locale string specifying the locale like 'en_GB', or 'fr'.
27
+ */
28
+ export declare const getMessagesForLocale: (locale: string) => Promise<Record<string, string>>;
29
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: (prefix?: string) => string;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const padArray: (arr: any[], size: number, value: any) => any[];
@@ -0,0 +1,4 @@
1
+ export declare function enableLogger(enable: boolean): void;
2
+ export declare function enableStacktraces(enable: boolean): void;
3
+ export declare function logStacktrace(): void;
4
+ export default function debug(msg: any, ...args: any[]): void;
@@ -0,0 +1,8 @@
1
+ import { MouseEvent } from 'react';
2
+ export interface Position {
3
+ x: number;
4
+ y: number;
5
+ }
6
+ export declare function mouseLocation(event: MouseEvent<any>): Position;
7
+ export declare function actualMouseMove(oldPosition: Position | undefined, newPosition: Position): boolean;
8
+ export declare function leftClick(event: MouseEvent<any>): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/mention",
3
- "version": "22.1.1",
3
+ "version": "22.1.3",
4
4
  "description": "A React component used to display user profiles in a list for 'Mention' functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -25,7 +25,7 @@
25
25
  "atlassian": {
26
26
  "team": "Search Platform: Search Experience",
27
27
  "deprecatedAutoEntryPoints": true,
28
- "releaseModel": "scheduled",
28
+ "releaseModel": "continuous",
29
29
  "website": {
30
30
  "name": "Mention"
31
31
  }
@@ -41,7 +41,7 @@
41
41
  "@atlaskit/icon": "^21.12.0",
42
42
  "@atlaskit/lozenge": "^11.4.0",
43
43
  "@atlaskit/theme": "^12.5.0",
44
- "@atlaskit/tokens": "^1.4.0",
44
+ "@atlaskit/tokens": "^1.14.0",
45
45
  "@atlaskit/tooltip": "^17.8.0",
46
46
  "@atlaskit/ufo": "^0.2.0",
47
47
  "@atlaskit/util-service-support": "^6.2.0",
@@ -57,13 +57,8 @@
57
57
  "react-intl-next": "npm:react-intl@^5.18.1"
58
58
  },
59
59
  "devDependencies": {
60
- "@atlaskit/adf-utils": "^18.2.0",
61
- "@atlaskit/docs": "^9.1.0",
62
- "@atlaskit/editor-core": "^183.0.0",
63
- "@atlaskit/editor-test-helpers": "^18.3.0",
60
+ "@atlaskit/editor-test-helpers": "^18.10.0",
64
61
  "@atlaskit/elements-test-helpers": "^0.7.0",
65
- "@atlaskit/section-message": "^6.4.0",
66
- "@atlaskit/ssr": "*",
67
62
  "@atlaskit/util-data-test": "^17.8.0",
68
63
  "@atlaskit/visual-regression": "*",
69
64
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
package/report.api.md CHANGED
@@ -362,9 +362,9 @@ export class MentionList extends React_2.PureComponent<Props_2, State> {
362
362
  // (undocumented)
363
363
  render(): JSX.Element;
364
364
  // (undocumented)
365
- selectId: (id: string, callback?: (() => any) | undefined) => void;
365
+ selectId: (id: string, callback?: () => any) => void;
366
366
  // (undocumented)
367
- selectIndex: (index: number, callback?: (() => any) | undefined) => void;
367
+ selectIndex: (index: number, callback?: () => any) => void;
368
368
  // (undocumented)
369
369
  selectNext: () => void;
370
370
  // (undocumented)
@@ -440,9 +440,9 @@ class MentionPicker_2 extends React_2.PureComponent<
440
440
  // (undocumented)
441
441
  render(): JSX.Element;
442
442
  // (undocumented)
443
- selectId: (id: string, callback?: (() => any) | undefined) => void;
443
+ selectId: (id: string, callback?: () => any) => void;
444
444
  // (undocumented)
445
- selectIndex: (index: number, callback?: (() => any) | undefined) => void;
445
+ selectIndex: (index: number, callback?: () => any) => void;
446
446
  // (undocumented)
447
447
  selectNext: () => void;
448
448
  // (undocumented)
@@ -857,9 +857,9 @@ class ResourcedMentionListWithoutAnalytics extends React_2.PureComponent<
857
857
  // (undocumented)
858
858
  render(): JSX.Element;
859
859
  // (undocumented)
860
- selectId: (id: string, callback?: (() => any) | undefined) => void;
860
+ selectId: (id: string, callback?: () => any) => void;
861
861
  // (undocumented)
862
- selectIndex: (index: number, callback?: (() => any) | undefined) => void;
862
+ selectIndex: (index: number, callback?: () => any) => void;
863
863
  // (undocumented)
864
864
  selectNext: () => void;
865
865
  // (undocumented)