@apolitical/component-library 6.3.0 → 6.3.2
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.
- package/discussion/components/form/form.type.d.ts +2 -21
- package/discussion/components/form/index.d.ts +1 -1
- package/discussion/components/post/index.d.ts +1 -1
- package/discussion/components/post/post.d.ts +1 -6
- package/discussion/components/post/post.helpers.d.ts +2 -0
- package/discussion/feeds/activities-feed/activities-feed.d.ts +2 -4
- package/discussion/feeds/replies-feed/cache/hooks/feed/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/cache/hooks/feed/parse-replies/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/cache/hooks/feed/parse-replies/mocks/index.d.ts +2 -0
- package/discussion/feeds/replies-feed/cache/hooks/feed/parse-replies/mocks/replies.mock.d.ts +2 -0
- package/discussion/feeds/replies-feed/cache/hooks/feed/parse-replies/mocks/user.mock.d.ts +4 -0
- package/discussion/feeds/replies-feed/cache/hooks/feed/parse-replies/parse-replies.d.ts +28 -0
- package/discussion/feeds/replies-feed/components/add-reply-form/add-reply-form.d.ts +16 -0
- package/discussion/feeds/replies-feed/components/add-reply-form/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/components/index.d.ts +3 -0
- package/discussion/feeds/replies-feed/components/load-more-replies-button/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/components/load-more-replies-button/load-more-replies-button.d.ts +13 -0
- package/discussion/feeds/replies-feed/{nested-replies-feed → components/nested-replies-feed}/nested-replies-feed.d.ts +3 -3
- package/discussion/feeds/replies-feed/components/reply-item/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/components/reply-item/reply-item.d.ts +26 -0
- package/discussion/feeds/replies-feed/mocks/index.d.ts +1 -0
- package/discussion/feeds/replies-feed/mocks/parsed-replies-feed.mock.d.ts +13 -0
- package/discussion/feeds/replies-feed/replies-feed.d.ts +4 -2
- package/discussion/sections/activity-section/activity-section.d.ts +2 -4
- package/discussion/sections/activity-section/activity-section.helpers.d.ts +2 -0
- package/discussion/sections/activity-section/activity-section.mock.d.ts +103 -0
- package/discussion/sections/activity-section/mocks/activity-functions.mock.d.ts +46 -0
- package/discussion/sections/activity-section/mocks/activity-section.mock.d.ts +45 -39
- package/discussion/sections/activity-section/mocks/index.d.ts +1 -0
- package/discussion/shared/interfaces/discussion.interface.d.ts +21 -1
- package/helpers/intl.d.ts +1 -0
- package/index.js +42 -42
- package/index.mjs +8500 -8386
- package/package.json +1 -1
- package/user/badge/interface/badge.interfaces.d.ts +3 -3
- package/user/badges/badges.interface.d.ts +1 -1
- /package/discussion/feeds/replies-feed/{nested-replies-feed → components/nested-replies-feed}/index.d.ts +0 -0
- /package/discussion/feeds/replies-feed/{nested-replies-feed → components/nested-replies-feed}/mocks/index.d.ts +0 -0
- /package/discussion/feeds/replies-feed/{nested-replies-feed → components/nested-replies-feed}/mocks/nested-replies-feed.mock.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IEnrichedUrlData } from '../../../navigation';
|
|
2
|
-
import {
|
|
3
|
-
import { ICategory } from '../../shared';
|
|
2
|
+
import { IDiscussionContent, IMentions } from './../../discussion';
|
|
3
|
+
import { ICategory, IDiscussionFormFunctions } from '../../shared';
|
|
4
4
|
export interface IDiscussionFormMeta {
|
|
5
5
|
/** Whether the form data is still loading */
|
|
6
6
|
isLoading?: boolean;
|
|
@@ -36,24 +36,6 @@ export interface IDiscussionFormMeta {
|
|
|
36
36
|
/** Whether the success message should show on a successful submit */
|
|
37
37
|
showSuccessMessage?: boolean;
|
|
38
38
|
}
|
|
39
|
-
interface IDiscussionFormFunctions extends IDiscussionFormFns {
|
|
40
|
-
onChange?: (args: {
|
|
41
|
-
[key: string]: string | boolean;
|
|
42
|
-
}) => void;
|
|
43
|
-
create: DiscussionCreateContentFunction;
|
|
44
|
-
handleSaveEdit?: (({ title, body }: {
|
|
45
|
-
title: string;
|
|
46
|
-
body: string;
|
|
47
|
-
}) => Promise<void>) | (() => void);
|
|
48
|
-
handleCancel?: () => void;
|
|
49
|
-
callback?: (args: void) => void;
|
|
50
|
-
onMention?: (value?: IListMemberData) => void;
|
|
51
|
-
props?: {
|
|
52
|
-
create: {
|
|
53
|
-
projectNames: ['questions-answers'];
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
39
|
export interface IDiscussionForm {
|
|
58
40
|
/** A unique ID for the form */
|
|
59
41
|
id?: string;
|
|
@@ -107,4 +89,3 @@ export interface IDiscussionFormState {
|
|
|
107
89
|
link?: false | IEnrichedUrlData;
|
|
108
90
|
};
|
|
109
91
|
}
|
|
110
|
-
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { IDiscussionForm, IDiscussionFormMeta } from './form.type';
|
|
1
|
+
export type { IDiscussionForm, IDiscussionFormMeta, } from './form.type';
|
|
2
2
|
export { default as DiscussionForm } from './form';
|
|
@@ -84,15 +84,10 @@ export interface IDiscussionPostProps {
|
|
|
84
84
|
isCommunity?: boolean;
|
|
85
85
|
/** Whether to show badges and the scope of the badge */
|
|
86
86
|
badges?: IBadgesOption;
|
|
87
|
-
/** Categories for the community */
|
|
88
|
-
categories?: {
|
|
89
|
-
name: string;
|
|
90
|
-
slug: string;
|
|
91
|
-
}[];
|
|
92
87
|
/** The base path, used for slugs */
|
|
93
88
|
basePath: string;
|
|
94
89
|
/** The ID of the parent, used for slugs */
|
|
95
90
|
parentId: string;
|
|
96
91
|
}
|
|
97
|
-
declare const Post: ({ element, content, userHasPermissions, userHasOwnerPermissions, isLoading, originalAuthorId, forceHide, functions, links, className, gtmContext, children, isTruncated, setFocus, isCommunity, badges,
|
|
92
|
+
declare const Post: ({ element, content, userHasPermissions, userHasOwnerPermissions, isLoading, originalAuthorId, forceHide, functions, links, className, gtmContext, children, isTruncated, setFocus, isCommunity, badges, basePath, parentId, }: IDiscussionPostProps) => import("react/jsx-runtime").JSX.Element;
|
|
98
93
|
export default Post;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { IMentions } from './../../discussion';
|
|
2
2
|
import { ListMembers } from '../../../form';
|
|
3
|
+
import { ICategory } from '../../shared';
|
|
3
4
|
export declare const getPostBody: (body: string, isTruncated: boolean | number, mentions?: IMentions, listMembers?: ListMembers) => Promise<string>;
|
|
5
|
+
export declare const enrichPostCategories: (postCategories: string[], allCategories: ICategory[]) => (ICategory | undefined)[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type IProfileFormProps } from '../../../form';
|
|
3
|
+
import { ICategory } from '../../../discussion/shared';
|
|
3
4
|
import type { ILikesFeedQueryFns } from '../../../discussion/feeds/likes-feed';
|
|
4
5
|
import type { IDiscussionFormFns } from '../../../discussion/discussion.d';
|
|
5
6
|
import { type IQueryFns } from './cache';
|
|
@@ -13,10 +14,7 @@ interface Props {
|
|
|
13
14
|
/** Whether the user is an owner of the community */
|
|
14
15
|
isOwner: boolean;
|
|
15
16
|
/** The categories for the community */
|
|
16
|
-
categories:
|
|
17
|
-
name: string;
|
|
18
|
-
slug: string;
|
|
19
|
-
}[];
|
|
17
|
+
categories: ICategory[];
|
|
20
18
|
/** Functions for the activities query */
|
|
21
19
|
functions: {
|
|
22
20
|
/** Query functions for the activities */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './parse-replies';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IUserContext } from '../../../../../../../context';
|
|
2
|
+
import { IMentions, IReaction } from '../../../../../../../discussion/shared';
|
|
3
|
+
import { DefaultGenerics, EnrichedUser } from 'getstream';
|
|
4
|
+
interface ExtractedReplyData {
|
|
5
|
+
mentions?: IMentions;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface IParsedReplies {
|
|
9
|
+
body: string;
|
|
10
|
+
data: ExtractedReplyData;
|
|
11
|
+
likeId: string;
|
|
12
|
+
liked: boolean;
|
|
13
|
+
likes: number;
|
|
14
|
+
peopleWhoLiked: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
}[] | false;
|
|
18
|
+
replyId: string;
|
|
19
|
+
userLiked: boolean;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
parent: string;
|
|
22
|
+
user: EnrichedUser<DefaultGenerics> | undefined;
|
|
23
|
+
}
|
|
24
|
+
export declare function parseReplies({ replies, user, }: {
|
|
25
|
+
replies: IReaction[];
|
|
26
|
+
user: IUserContext;
|
|
27
|
+
}): IParsedReplies[];
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IDiscussionFormFunctions } from '../../../../../discussion/shared';
|
|
3
|
+
interface Props {
|
|
4
|
+
/** Whether the user is a member of the community */
|
|
5
|
+
isMember: boolean;
|
|
6
|
+
/** The ID of the parent, used for slugs */
|
|
7
|
+
parentId: string;
|
|
8
|
+
/** Query functions for the mentions */
|
|
9
|
+
formFunctions: IDiscussionFormFunctions;
|
|
10
|
+
/** Function to join the community */
|
|
11
|
+
join: () => Promise<void>;
|
|
12
|
+
/** Function to leave the community */
|
|
13
|
+
leave: () => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export default function AddReplyForm({ parentId, isMember, formFunctions, leave, join, }: Props): JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AddReplyForm } from './add-reply-form';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as LoadMoreRepliesButton } from './load-more-replies-button';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface Props {
|
|
3
|
+
/** Whether there is a next page */
|
|
4
|
+
hasNextPage: boolean;
|
|
5
|
+
/** Function to fetch the next page */
|
|
6
|
+
fetchNextPage: () => void;
|
|
7
|
+
/** The index to focus on */
|
|
8
|
+
setFocusReplyIndex: (index: number) => void;
|
|
9
|
+
/** The total number of replies */
|
|
10
|
+
totalReplies: number;
|
|
11
|
+
}
|
|
12
|
+
export default function LoadMoreRepliesButton({ hasNextPage, fetchNextPage, setFocusReplyIndex, totalReplies, }: Props): JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import type { IDiscussionFormFns } from '
|
|
3
|
-
import { ILikesFeedQueryFns } from '
|
|
4
|
-
import { type IQueryFns } from '
|
|
2
|
+
import type { IDiscussionFormFns } from '../../../../../discussion/discussion.d';
|
|
3
|
+
import { ILikesFeedQueryFns } from '../../../../../discussion/feeds/likes-feed';
|
|
4
|
+
import { type IQueryFns } from '../../cache';
|
|
5
5
|
interface NestedRepliesFunctions {
|
|
6
6
|
/** Functions for the replies query */
|
|
7
7
|
reactions: IQueryFns;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ReplyItem } from './reply-item';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ILikesFeedQueryFns } from '../../../../../discussion/feeds/likes-feed';
|
|
3
|
+
import type { IDiscussionFormFns } from '../../../../discussion';
|
|
4
|
+
import type { IQueryFns, IParsedReplies } from '../../cache';
|
|
5
|
+
interface Props {
|
|
6
|
+
/** The ID of the activity the replies are for */
|
|
7
|
+
activityId: string;
|
|
8
|
+
/** The base path, used for slugs */
|
|
9
|
+
basePath: string;
|
|
10
|
+
/** The ID of the parent, used for slugs */
|
|
11
|
+
parentId: string;
|
|
12
|
+
/** Whether the user is a member of the community */
|
|
13
|
+
isMember: boolean;
|
|
14
|
+
/** The reply data */
|
|
15
|
+
reply: IParsedReplies;
|
|
16
|
+
/** Whether to show the replies */
|
|
17
|
+
focus: boolean;
|
|
18
|
+
/** Functions for the replies query */
|
|
19
|
+
formFns: {
|
|
20
|
+
form: IDiscussionFormFns;
|
|
21
|
+
reactions: IQueryFns;
|
|
22
|
+
likes: ILikesFeedQueryFns;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export default function ReplyItem({ formFns, activityId, basePath, focus, isMember, parentId, reply, }: Props): JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const parsedRepliesMock: {
|
|
2
|
+
user: string;
|
|
3
|
+
body: string;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
data: {};
|
|
6
|
+
likeId: string;
|
|
7
|
+
liked: boolean;
|
|
8
|
+
likes: number;
|
|
9
|
+
peopleWhoLiked: never[];
|
|
10
|
+
replyId: string;
|
|
11
|
+
parent: string;
|
|
12
|
+
userLiked: boolean;
|
|
13
|
+
}[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type IProfileFormProps } from '../../../form';
|
|
3
3
|
import { ILikesFeedQueryFns } from '../../../discussion/feeds/likes-feed';
|
|
4
|
-
import type { IDiscussionFormFns } from '
|
|
4
|
+
import type { IDiscussionFormFns } from '../../discussion';
|
|
5
5
|
import { type IQueryFns } from './cache';
|
|
6
6
|
interface RepliesFunctions {
|
|
7
7
|
/** Functions for the replies query */
|
|
8
8
|
reactions: IQueryFns;
|
|
9
|
-
/** Functions for
|
|
9
|
+
/** Functions for likes query */
|
|
10
10
|
likes: ILikesFeedQueryFns;
|
|
11
11
|
/** Query functions for the mentions */
|
|
12
12
|
form: IDiscussionFormFns;
|
|
@@ -30,6 +30,8 @@ interface Props {
|
|
|
30
30
|
functions: RepliesFunctions;
|
|
31
31
|
/** Props to pass into the profile form */
|
|
32
32
|
profile: IProfileFormProps;
|
|
33
|
+
/** Whether to show the replies */
|
|
34
|
+
showReplies: boolean;
|
|
33
35
|
}
|
|
34
36
|
declare const RepliesFeed: React.FC<Props>;
|
|
35
37
|
export default RepliesFeed;
|
|
@@ -3,6 +3,7 @@ import { type IProfileFormProps } from '../../../form';
|
|
|
3
3
|
import { type IRepliesFeedQueryFns, type ILikesFeedQueryFns } from '../../../discussion/feeds';
|
|
4
4
|
import type { IDiscussionFormFns } from './../../discussion.d';
|
|
5
5
|
import { type IQueryFns } from './cache';
|
|
6
|
+
import { ICategory } from '../../shared';
|
|
6
7
|
interface IActivitySectionQueryFns extends IQueryFns {
|
|
7
8
|
remove: () => Promise<void>;
|
|
8
9
|
}
|
|
@@ -21,10 +22,7 @@ export interface IActivitySectionProps {
|
|
|
21
22
|
leave: () => Promise<void>;
|
|
22
23
|
};
|
|
23
24
|
profile: IProfileFormProps;
|
|
24
|
-
categories?:
|
|
25
|
-
name: string;
|
|
26
|
-
slug: string;
|
|
27
|
-
}[];
|
|
25
|
+
categories?: ICategory[];
|
|
28
26
|
}
|
|
29
27
|
declare const ActivitySection: React.FC<IActivitySectionProps>;
|
|
30
28
|
export default ActivitySection;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { IActivity, IReaction } from '../../shared';
|
|
2
|
+
import { type IMention } from '../../../form';
|
|
3
|
+
export declare const functions: {
|
|
4
|
+
activities: {
|
|
5
|
+
read: () => Promise<IActivity>;
|
|
6
|
+
edit: () => Promise<IActivity>;
|
|
7
|
+
like: () => Promise<IReaction>;
|
|
8
|
+
remove: () => Promise<void>;
|
|
9
|
+
unlike: () => Promise<IReaction>;
|
|
10
|
+
pin: () => Promise<IReaction>;
|
|
11
|
+
unpin: () => Promise<IReaction>;
|
|
12
|
+
};
|
|
13
|
+
reactions: {
|
|
14
|
+
create: () => Promise<IReaction>;
|
|
15
|
+
edit: () => Promise<IReaction>;
|
|
16
|
+
like: () => Promise<IReaction>;
|
|
17
|
+
list: () => Promise<{
|
|
18
|
+
results: IReaction[];
|
|
19
|
+
next: string;
|
|
20
|
+
duration: string;
|
|
21
|
+
}>;
|
|
22
|
+
remove: () => Promise<void>;
|
|
23
|
+
unlike: () => Promise<IReaction>;
|
|
24
|
+
};
|
|
25
|
+
form: {
|
|
26
|
+
listMembers: () => Promise<IMention[]>;
|
|
27
|
+
clickMentionFallback: () => Promise<unknown>;
|
|
28
|
+
};
|
|
29
|
+
likes: {
|
|
30
|
+
list: () => Promise<{
|
|
31
|
+
results: never[];
|
|
32
|
+
next: string;
|
|
33
|
+
duration: string;
|
|
34
|
+
}>;
|
|
35
|
+
};
|
|
36
|
+
join: () => Promise<void>;
|
|
37
|
+
leave: () => Promise<void>;
|
|
38
|
+
};
|
|
39
|
+
export declare const args: {
|
|
40
|
+
basePath: string;
|
|
41
|
+
parentId: string;
|
|
42
|
+
activityId: string;
|
|
43
|
+
isMember: boolean;
|
|
44
|
+
isOwner: boolean;
|
|
45
|
+
profile: {
|
|
46
|
+
hooks: {
|
|
47
|
+
useMaps: () => {
|
|
48
|
+
buildLocation: (input: string) => Promise<{
|
|
49
|
+
id: string;
|
|
50
|
+
en: string;
|
|
51
|
+
code: string;
|
|
52
|
+
}>;
|
|
53
|
+
isValidPlace: (input: string) => boolean;
|
|
54
|
+
predictPlaces: (input: string) => Promise<never[]>;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
functions: {
|
|
58
|
+
uploadImage: () => Promise<void>;
|
|
59
|
+
onSuccess: () => Promise<void>;
|
|
60
|
+
onFailure: () => void;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
functions: {
|
|
64
|
+
activities: {
|
|
65
|
+
read: () => Promise<IActivity>;
|
|
66
|
+
edit: () => Promise<IActivity>;
|
|
67
|
+
like: () => Promise<IReaction>;
|
|
68
|
+
remove: () => Promise<void>;
|
|
69
|
+
unlike: () => Promise<IReaction>;
|
|
70
|
+
pin: () => Promise<IReaction>;
|
|
71
|
+
unpin: () => Promise<IReaction>;
|
|
72
|
+
};
|
|
73
|
+
reactions: {
|
|
74
|
+
create: () => Promise<IReaction>;
|
|
75
|
+
edit: () => Promise<IReaction>;
|
|
76
|
+
like: () => Promise<IReaction>;
|
|
77
|
+
list: () => Promise<{
|
|
78
|
+
results: IReaction[];
|
|
79
|
+
next: string;
|
|
80
|
+
duration: string;
|
|
81
|
+
}>;
|
|
82
|
+
remove: () => Promise<void>;
|
|
83
|
+
unlike: () => Promise<IReaction>;
|
|
84
|
+
};
|
|
85
|
+
form: {
|
|
86
|
+
listMembers: () => Promise<IMention[]>;
|
|
87
|
+
clickMentionFallback: () => Promise<unknown>;
|
|
88
|
+
};
|
|
89
|
+
likes: {
|
|
90
|
+
list: () => Promise<{
|
|
91
|
+
results: never[];
|
|
92
|
+
next: string;
|
|
93
|
+
duration: string;
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
join: () => Promise<void>;
|
|
97
|
+
leave: () => Promise<void>;
|
|
98
|
+
};
|
|
99
|
+
categories: {
|
|
100
|
+
name: string;
|
|
101
|
+
slug: string;
|
|
102
|
+
}[];
|
|
103
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare const mockFunctions: {
|
|
2
|
+
activities: {
|
|
3
|
+
edit: jest.Mock<any, any, any>;
|
|
4
|
+
like: jest.Mock<any, any, any>;
|
|
5
|
+
read: jest.Mock<any, any, any>;
|
|
6
|
+
remove: jest.Mock<any, any, any>;
|
|
7
|
+
unlike: jest.Mock<any, any, any>;
|
|
8
|
+
pin: jest.Mock<any, any, any>;
|
|
9
|
+
unpin: jest.Mock<any, any, any>;
|
|
10
|
+
};
|
|
11
|
+
reactions: {
|
|
12
|
+
add: jest.Mock<any, any, any>;
|
|
13
|
+
remove: jest.Mock<any, any, any>;
|
|
14
|
+
create: jest.Mock<any, any, any>;
|
|
15
|
+
edit: jest.Mock<any, any, any>;
|
|
16
|
+
like: jest.Mock<any, any, any>;
|
|
17
|
+
list: jest.Mock<any, any, any>;
|
|
18
|
+
unlike: jest.Mock<any, any, any>;
|
|
19
|
+
};
|
|
20
|
+
likes: {
|
|
21
|
+
add: jest.Mock<any, any, any>;
|
|
22
|
+
remove: jest.Mock<any, any, any>;
|
|
23
|
+
list: jest.Mock<any, any, any>;
|
|
24
|
+
};
|
|
25
|
+
form: {
|
|
26
|
+
submit: jest.Mock<any, any, any>;
|
|
27
|
+
validate: jest.Mock<any, any, any>;
|
|
28
|
+
listMembers: jest.Mock<any, any, any>;
|
|
29
|
+
clickMentionFallback: jest.Mock<any, any, any>;
|
|
30
|
+
};
|
|
31
|
+
join: jest.Mock<any, any, any>;
|
|
32
|
+
leave: jest.Mock<any, any, any>;
|
|
33
|
+
};
|
|
34
|
+
export declare const mockProfileHooks: {
|
|
35
|
+
useProfile: jest.Mock<any, any, any>;
|
|
36
|
+
useProfileUpdate: jest.Mock<any, any, any>;
|
|
37
|
+
useMaps: jest.Mock<any, any, any>;
|
|
38
|
+
};
|
|
39
|
+
export declare const mockProfileFunctions: {
|
|
40
|
+
updateProfile: jest.Mock<any, any, any>;
|
|
41
|
+
getProfile: jest.Mock<any, any, any>;
|
|
42
|
+
uploadImage: jest.Mock<any, any, any>;
|
|
43
|
+
onSuccess: jest.Mock<any, any, any>;
|
|
44
|
+
onCancel: jest.Mock<any, any, any>;
|
|
45
|
+
onFailure: jest.Mock<any, any, any>;
|
|
46
|
+
};
|
|
@@ -1,46 +1,52 @@
|
|
|
1
1
|
export declare const activitySectionMock: {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
POST: {
|
|
3
|
+
actor: {
|
|
4
|
+
created_at: string;
|
|
5
|
+
updated_at: string;
|
|
6
|
+
id: string;
|
|
7
|
+
data: {
|
|
8
|
+
jobTitle: string;
|
|
9
|
+
name: string;
|
|
10
|
+
organization: string;
|
|
11
|
+
location: {
|
|
12
|
+
en: string;
|
|
13
|
+
};
|
|
14
|
+
badges: {
|
|
15
|
+
communities: {
|
|
16
|
+
'community-slug': string[];
|
|
17
|
+
};
|
|
16
18
|
};
|
|
17
19
|
};
|
|
18
20
|
};
|
|
21
|
+
categories: never[];
|
|
22
|
+
content: string;
|
|
23
|
+
feed_id: string;
|
|
24
|
+
foreign_id: string;
|
|
25
|
+
id: string;
|
|
26
|
+
latest_reactions: {
|
|
27
|
+
like: never[];
|
|
28
|
+
reply: never[];
|
|
29
|
+
};
|
|
30
|
+
latest_reactions_extra: {
|
|
31
|
+
like: never[];
|
|
32
|
+
reply: never[];
|
|
33
|
+
};
|
|
34
|
+
object: string;
|
|
35
|
+
origin: null;
|
|
36
|
+
own_reactions: {
|
|
37
|
+
like: never[];
|
|
38
|
+
reply: never[];
|
|
39
|
+
};
|
|
40
|
+
reaction_counts: {
|
|
41
|
+
like: number;
|
|
42
|
+
reply: number;
|
|
43
|
+
};
|
|
44
|
+
target: string;
|
|
45
|
+
time: string;
|
|
46
|
+
verb: string;
|
|
19
47
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
foreign_id: string;
|
|
24
|
-
id: string;
|
|
25
|
-
latest_reactions: {
|
|
26
|
-
like: never[];
|
|
27
|
-
reply: never[];
|
|
28
|
-
};
|
|
29
|
-
latest_reactions_extra: {
|
|
30
|
-
like: never[];
|
|
31
|
-
reply: never[];
|
|
32
|
-
};
|
|
33
|
-
object: string;
|
|
34
|
-
origin: null;
|
|
35
|
-
own_reactions: {
|
|
36
|
-
like: never[];
|
|
37
|
-
reply: never[];
|
|
38
|
-
};
|
|
39
|
-
reaction_counts: {
|
|
40
|
-
like: number;
|
|
41
|
-
reply: number;
|
|
48
|
+
POLL: {
|
|
49
|
+
total_replies: number;
|
|
50
|
+
verb: string;
|
|
42
51
|
};
|
|
43
|
-
target: string;
|
|
44
|
-
time: string;
|
|
45
|
-
verb: string;
|
|
46
52
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { MemberProps, MemberDetailsProps } from '../../../user';
|
|
2
2
|
import type { ListMembers, ClickMentionFallback } from '../../../form';
|
|
3
3
|
import type { IEnrichedUrlData } from '../../../navigation';
|
|
4
|
+
import type { ICategory } from './community.category.interface';
|
|
5
|
+
import type { IDiscussionFormFns } from '../../discussion';
|
|
4
6
|
export type IDiscussionContentType = 'answer' | 'post' | 'response' | 'reply' | 'question';
|
|
5
7
|
export interface IDiscussionContent {
|
|
6
8
|
/** The type of content */
|
|
@@ -26,7 +28,7 @@ export interface IFullDiscussionContent extends IDiscussionContent {
|
|
|
26
28
|
/** The author of the post */
|
|
27
29
|
author: MemberProps;
|
|
28
30
|
/** The post categories */
|
|
29
|
-
categories?:
|
|
31
|
+
categories?: ICategory[];
|
|
30
32
|
createdAt: Date | string;
|
|
31
33
|
/** The number of likes to display */
|
|
32
34
|
likes?: number;
|
|
@@ -90,3 +92,21 @@ export interface IConversation {
|
|
|
90
92
|
prepopulateForm?: string;
|
|
91
93
|
mentionData?: IListMemberData;
|
|
92
94
|
}
|
|
95
|
+
export interface IDiscussionFormFunctions extends IDiscussionFormFns {
|
|
96
|
+
onChange?: (args: {
|
|
97
|
+
[key: string]: string | boolean;
|
|
98
|
+
}) => void;
|
|
99
|
+
create: DiscussionCreateContentFunction;
|
|
100
|
+
handleSaveEdit?: (({ title, body }: {
|
|
101
|
+
title: string;
|
|
102
|
+
body: string;
|
|
103
|
+
}) => Promise<void>) | (() => void);
|
|
104
|
+
handleCancel?: () => void;
|
|
105
|
+
callback?: (args: void) => void;
|
|
106
|
+
onMention?: (value?: IListMemberData) => void;
|
|
107
|
+
props?: {
|
|
108
|
+
create: {
|
|
109
|
+
projectNames: ['questions-answers'];
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}
|
package/helpers/intl.d.ts
CHANGED
|
@@ -351,6 +351,7 @@ export declare const checkIntlPathExists: (path: string, language?: {
|
|
|
351
351
|
poll_num_votes: string;
|
|
352
352
|
poll_remove_vote_button: string;
|
|
353
353
|
poll_aria_votes: string;
|
|
354
|
+
replies_feed_missing_polls_vote_message: string;
|
|
354
355
|
tableOfContents: string;
|
|
355
356
|
timeToComplete_hours: string;
|
|
356
357
|
timeToComplete_hours_short: string;
|