@edifice.io/react 2.2.2-develop-pedago.20250409103005 → 2.2.2-develop-b2school.20250410105023

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 (125) hide show
  1. package/dist/components/Avatar/Avatar.d.ts +0 -21
  2. package/dist/components/Avatar/Avatar.js +2 -15
  3. package/dist/components/Card/Card.d.ts +1 -3
  4. package/dist/components/Card/CardBody.d.ts +1 -3
  5. package/dist/components/Card/CardBody.js +2 -4
  6. package/dist/components/Combobox/Combobox.d.ts +55 -5
  7. package/dist/components/Combobox/Combobox.js +13 -7
  8. package/dist/components/Combobox/ComboboxTrigger.d.ts +30 -2
  9. package/dist/components/Combobox/ComboboxTrigger.js +27 -8
  10. package/dist/components/Dropdown/Dropdown.d.ts +10 -6
  11. package/dist/components/Dropdown/Dropdown.js +5 -5
  12. package/dist/components/Dropdown/DropdownItem.d.ts +3 -3
  13. package/dist/components/Dropdown/DropdownItem.js +6 -8
  14. package/dist/components/Dropdown/DropdownTrigger.d.ts +2 -31
  15. package/dist/components/Dropdown/DropdownTrigger.js +8 -24
  16. package/dist/components/List/List.d.ts +9 -1
  17. package/dist/components/List/List.js +9 -9
  18. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  19. package/dist/components/SearchBar/SearchBar.js +3 -1
  20. package/dist/components/index.d.ts +0 -4
  21. package/dist/editor.js +22 -22
  22. package/dist/hooks/index.d.ts +1 -0
  23. package/dist/hooks/useCheckable/useCheckable.js +10 -3
  24. package/dist/hooks/useConf/useConf.d.ts +1 -1
  25. package/dist/hooks/useConversation/useConversation.d.ts +1 -1
  26. package/dist/hooks/useConversation/useConversation.js +13 -17
  27. package/dist/hooks/useDropdown/useDropdown.d.ts +2 -1
  28. package/dist/hooks/useDropdown/useDropdown.js +5 -3
  29. package/dist/hooks/useSession/useSession.d.ts +1 -1
  30. package/dist/hooks/useWorkspaceFolders/index.d.ts +1 -0
  31. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +14 -0
  32. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +44 -0
  33. package/dist/icons.js +230 -212
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +172 -154
  36. package/dist/modals.js +16 -14
  37. package/dist/modules/comments/components/Comment.js +34 -49
  38. package/dist/modules/comments/components/CommentForm.d.ts +1 -2
  39. package/dist/modules/comments/components/CommentForm.js +8 -12
  40. package/dist/modules/comments/components/CommentList.js +3 -3
  41. package/dist/modules/comments/constants.d.ts +0 -4
  42. package/dist/modules/comments/constants.js +1 -2
  43. package/dist/modules/comments/context/Context.d.ts +4 -6
  44. package/dist/modules/comments/hooks/useComments.d.ts +7 -7
  45. package/dist/modules/comments/hooks/useComments.js +19 -24
  46. package/dist/modules/comments/hooks/useCommentsContext.d.ts +4 -6
  47. package/dist/modules/comments/provider/CommentProvider.js +13 -16
  48. package/dist/modules/comments/types.d.ts +1 -14
  49. package/dist/modules/editor/components/Editor/Editor.d.ts +3 -1
  50. package/dist/modules/editor/components/Editor/Editor.js +5 -8
  51. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +0 -12
  52. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.d.ts +2 -0
  53. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -0
  54. package/dist/modules/editor/components/NodeView/index.d.ts +2 -2
  55. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.d.ts +8 -0
  56. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -0
  57. package/dist/modules/editor/components/Renderer/index.d.ts +2 -2
  58. package/dist/modules/editor/hooks/useTipTapEditor.d.ts +6 -2
  59. package/dist/modules/editor/hooks/useTipTapEditor.js +2 -4
  60. package/dist/modules/icons/components/IconFolderAdd.d.ts +7 -0
  61. package/dist/modules/icons/components/IconFolderAdd.js +13 -0
  62. package/dist/modules/icons/components/IconFolderDelete.d.ts +7 -0
  63. package/dist/modules/icons/components/IconFolderDelete.js +12 -0
  64. package/dist/modules/icons/components/IconGlobe2.d.ts +7 -0
  65. package/dist/modules/icons/components/IconGlobe2.js +16 -0
  66. package/dist/modules/icons/components/IconGroupAvatar.d.ts +7 -0
  67. package/dist/modules/icons/components/IconGroupAvatar.js +12 -0
  68. package/dist/modules/icons/components/IconMailRecall.d.ts +7 -0
  69. package/dist/modules/icons/components/IconMailRecall.js +13 -0
  70. package/dist/modules/icons/components/IconQuestionMark.d.ts +7 -0
  71. package/dist/modules/icons/components/IconQuestionMark.js +13 -0
  72. package/dist/modules/icons/components/IconReadMail.d.ts +7 -0
  73. package/dist/modules/icons/components/IconReadMail.js +16 -0
  74. package/dist/modules/icons/components/IconSignature.d.ts +7 -0
  75. package/dist/modules/icons/components/IconSignature.js +13 -0
  76. package/dist/modules/icons/components/IconUndoAll.d.ts +7 -0
  77. package/dist/modules/icons/components/IconUndoAll.js +14 -0
  78. package/dist/modules/icons/components/IconUnreadMail.d.ts +7 -0
  79. package/dist/modules/icons/components/IconUnreadMail.js +16 -0
  80. package/dist/modules/icons/components/index.d.ts +10 -1
  81. package/dist/modules/modals/ConfirmModal/ConfirmModal.d.ts +42 -0
  82. package/dist/modules/modals/ConfirmModal/ConfirmModal.js +36 -0
  83. package/dist/modules/modals/ConfirmModal/index.d.ts +1 -0
  84. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
  85. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
  86. package/dist/modules/modals/ShareModal/ShareModal.d.ts +1 -1
  87. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  88. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
  89. package/dist/modules/modals/index.d.ts +1 -0
  90. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +5 -9
  91. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.d.ts +8 -0
  92. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.js +28 -0
  93. package/dist/modules/multimedia/WorkspaceFolders/index.d.ts +1 -0
  94. package/dist/modules/multimedia/index.d.ts +1 -0
  95. package/dist/multimedia.js +3 -1
  96. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
  97. package/dist/types/index.d.ts +0 -1
  98. package/package.json +6 -6
  99. package/dist/components/AvatarGroup/AvatarGroup.d.ts +0 -24
  100. package/dist/components/AvatarGroup/AvatarGroup.js +0 -24
  101. package/dist/components/AvatarGroup/index.d.ts +0 -2
  102. package/dist/components/PreventPropagation/PreventPropagation.d.ts +0 -10
  103. package/dist/components/PreventPropagation/PreventPropagation.js +0 -9
  104. package/dist/components/PreventPropagation/index.d.ts +0 -2
  105. package/dist/components/StackedGroup/StackedGroup.d.ts +0 -23
  106. package/dist/components/StackedGroup/StackedGroup.js +0 -21
  107. package/dist/components/StackedGroup/index.d.ts +0 -1
  108. package/dist/components/Switch/Switch.d.ts +0 -29
  109. package/dist/components/Switch/Switch.js +0 -27
  110. package/dist/components/Switch/index.d.ts +0 -2
  111. package/dist/modules/comments/components/CommentDeleted.d.ts +0 -1
  112. package/dist/modules/comments/components/CommentDeleted.js +0 -11
  113. package/dist/modules/comments/components/CommentReplies.d.ts +0 -4
  114. package/dist/modules/comments/components/CommentReplies.js +0 -33
  115. package/dist/modules/comments/hooks/useCommentReplies.d.ts +0 -12
  116. package/dist/modules/comments/hooks/useCommentReplies.js +0 -36
  117. package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.d.ts +0 -6
  118. package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js +0 -136
  119. package/dist/modules/editor/components/BubbleMenuEditInformationPane/index.d.ts +0 -1
  120. package/dist/modules/editor/components/NodeView/InformationPaneNodeView.d.ts +0 -2
  121. package/dist/modules/editor/components/NodeView/InformationPaneNodeView.js +0 -10
  122. package/dist/modules/editor/components/Renderer/InformationPaneRenderer.d.ts +0 -3
  123. package/dist/modules/editor/components/Renderer/InformationPaneRenderer.js +0 -33
  124. package/dist/modules/icons/components/IconInfoRectangle.d.ts +0 -7
  125. package/dist/modules/icons/components/IconInfoRectangle.js +0 -13
@@ -1,7 +1,6 @@
1
- const DEFAULT_MAX_COMMENT_LENGTH = 200, DEFAULT_MAX_REPLY_LENGTH = 200, DEFAULT_MAX_COMMENTS = 4, DEFAULT_ADD_COMMENTS = 5, DEFAULT_MAX_REPLIES = 5, DEFAULT_ADD_REPLIES = 5;
1
+ const DEFAULT_MAX_COMMENT_LENGTH = 200, DEFAULT_MAX_REPLY_LENGTH = 200, DEFAULT_MAX_COMMENTS = 4, DEFAULT_ADD_COMMENTS = 5, DEFAULT_MAX_REPLIES = 5;
2
2
  export {
3
3
  DEFAULT_ADD_COMMENTS,
4
- DEFAULT_ADD_REPLIES,
5
4
  DEFAULT_MAX_COMMENTS,
6
5
  DEFAULT_MAX_COMMENT_LENGTH,
7
6
  DEFAULT_MAX_REPLIES,
@@ -1,20 +1,18 @@
1
1
  import { RightRole } from '@edifice.io/client';
2
2
  import { CommentOptions, CommentProps, CommentType, UserProfileResult } from '../types';
3
3
  export declare const CommentContext: import('react').Context<{
4
- displayedComments: CommentProps[] | undefined;
5
- defaultComments: CommentProps[] | undefined;
4
+ comments: CommentProps[] | undefined;
5
+ content: string;
6
6
  editCommentId: string | null;
7
- replyToCommentId: string | null;
8
7
  profiles: (UserProfileResult | undefined)[];
9
8
  options: Partial<CommentOptions>;
10
9
  type: CommentType;
11
10
  userRights?: Record<RightRole, boolean>;
12
11
  setEditCommentId: (value: string | null) => void;
13
- setReplyToCommentId: (value: string | null) => void;
14
12
  handleModifyComment: (commentId: string) => void;
15
- handleCreateComment: (content: string, replyTo?: string) => void;
13
+ handleChangeContent: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
14
+ handleCreateComment: (content: string) => void;
16
15
  handleUpdateComment: (comment: string) => void;
17
16
  handleDeleteComment: (id: string) => void;
18
- handleReplyToComment: (commentId: string) => void;
19
17
  handleReset: () => void;
20
18
  } | null>;
@@ -5,7 +5,6 @@ export declare const useComments: ({ defaultComments, options, type, callbacks,
5
5
  type: CommentType;
6
6
  callbacks: CommentCallbacks | null;
7
7
  }) => {
8
- t: import('i18next').TFunction<"translation", undefined>;
9
8
  profilesQueries: {
10
9
  data: ({
11
10
  userId: string;
@@ -13,20 +12,21 @@ export declare const useComments: ({ defaultComments, options, type, callbacks,
13
12
  } | undefined)[];
14
13
  isLoading: boolean;
15
14
  };
15
+ content: string;
16
16
  title: string;
17
17
  user: import('@edifice.io/client').IUserInfo | undefined;
18
18
  emptyscreenPath: string;
19
- displayedComments: CommentProps[];
20
- showMoreComments: boolean;
19
+ defaultCommentsCount: number;
20
+ comments: CommentProps[];
21
21
  editCommentId: string | null;
22
22
  setEditCommentId: import('react').Dispatch<import('react').SetStateAction<string | null>>;
23
- replyToCommentId: string | null;
24
- setReplyToCommentId: import('react').Dispatch<import('react').SetStateAction<string | null>>;
23
+ commentsCount: number;
24
+ t: import('i18next').TFunction<"translation", undefined>;
25
25
  handleMoreComments: () => void;
26
+ handleChangeContent: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
26
27
  handleDeleteComment: (id: string) => void;
27
- handleCreateComment: (content: string, replyTo?: string) => void;
28
+ handleCreateComment: (content: string) => void;
28
29
  handleModifyComment: (commentId: string) => void;
29
30
  handleUpdateComment: (comment: string) => Promise<void>;
30
- handleReplyToComment: (commentId: string) => void;
31
31
  handleReset: () => void;
32
32
  };
@@ -9,45 +9,43 @@ const useComments = ({
9
9
  type,
10
10
  callbacks
11
11
  }) => {
12
- var _a, _b;
13
- const [editCommentId, setEditCommentId] = useState(null), [replyToCommentId, setReplyToCommentId] = useState(null), [commentLimit, setCommentLimit] = useState(options.maxComments), {
12
+ const [content, setContent] = useState(""), [editCommentId, setEditCommentId] = useState(null), [commentLimit, setCommentLimit] = useState(options.maxComments), {
14
13
  t
15
14
  } = useTranslation(), {
16
15
  user
17
- } = useEdificeClient(), usersIds = Array.from(new Set(defaultComments == null ? void 0 : defaultComments.map((comment) => comment.authorId))), profilesQueries = useProfileQueries(usersIds), idsOfDeletedCommentWithNoReply = useMemo(() => (defaultComments == null ? void 0 : defaultComments.filter((comment) => comment.deleted && !defaultComments.some((c) => c.replyTo === comment.id)).map((comment) => comment.id)) ?? [], [defaultComments]), displayedComments = useMemo(
18
- () => {
19
- var _a2;
20
- const result = ((_a2 = defaultComments == null ? void 0 : defaultComments.filter((comment) => !comment.replyTo && !idsOfDeletedCommentWithNoReply.includes(comment.id))) == null ? void 0 : _a2.sort((a, b) => b.createdAt - a.createdAt)) ?? [];
21
- return type === "edit" ? result.slice(0, commentLimit) ?? [] : result;
22
- },
16
+ } = useEdificeClient(), usersIds = Array.from(new Set(defaultComments == null ? void 0 : defaultComments.map((comment) => comment.authorId))), profilesQueries = useProfileQueries(usersIds), comments = useMemo(
17
+ () => type === "edit" ? (defaultComments == null ? void 0 : defaultComments.sort((a, b) => b.createdAt - a.createdAt).slice(0, commentLimit)) ?? [] : (defaultComments == null ? void 0 : defaultComments.sort((a, b) => b.createdAt - a.createdAt)) ?? [],
23
18
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
19
  [commentLimit, defaultComments]
25
- ), showMoreComments = (displayedComments == null ? void 0 : displayedComments.length) < (((_a = defaultComments == null ? void 0 : defaultComments.filter((comment) => !comment.replyTo && !idsOfDeletedCommentWithNoReply.includes(comment.id))) == null ? void 0 : _a.length) ?? 0), titleCommentsCount = ((_b = defaultComments == null ? void 0 : defaultComments.filter((comment) => !comment.deleted)) == null ? void 0 : _b.length) ?? 0, title = titleCommentsCount > 1 ? t("comment.several", {
26
- number: titleCommentsCount
20
+ ), commentsCount = (comments == null ? void 0 : comments.length) ?? 0, defaultCommentsCount = (defaultComments == null ? void 0 : defaultComments.length) ?? 0, title = defaultCommentsCount && defaultCommentsCount > 1 ? t("comment.several", {
21
+ number: defaultCommentsCount
27
22
  }) : t("comment.little", {
28
- number: titleCommentsCount
23
+ number: defaultCommentsCount
29
24
  });
30
25
  return {
31
- t,
32
26
  profilesQueries,
27
+ content,
33
28
  title,
34
29
  user,
35
30
  emptyscreenPath: illuPad,
36
- displayedComments,
37
- showMoreComments,
31
+ defaultCommentsCount,
32
+ comments,
38
33
  editCommentId,
39
34
  setEditCommentId,
40
- replyToCommentId,
41
- setReplyToCommentId,
35
+ commentsCount,
36
+ t,
42
37
  handleMoreComments: () => {
43
- const newLimit = displayedComments.length + (options.additionalComments ?? 5);
44
- newLimit !== displayedComments.length && setCommentLimit(newLimit);
38
+ const newLimit = (comments == null ? void 0 : comments.length) + (options.additionalComments ?? 5);
39
+ newLimit !== comments.length && setCommentLimit(newLimit);
40
+ },
41
+ handleChangeContent: (event) => {
42
+ setContent(event.target.value);
45
43
  },
46
44
  handleDeleteComment: (id) => {
47
45
  type === "edit" && (callbacks == null || callbacks.delete(id));
48
46
  },
49
- handleCreateComment: (content, replyTo) => {
50
- type === "edit" && (callbacks == null || callbacks.post(content, replyTo)), replyTo && setReplyToCommentId(null);
47
+ handleCreateComment: (content2) => {
48
+ type === "edit" && (callbacks == null || callbacks.post(content2)), setContent("");
51
49
  },
52
50
  handleModifyComment: (commentId) => {
53
51
  setEditCommentId(commentId);
@@ -58,11 +56,8 @@ const useComments = ({
58
56
  commentId: editCommentId
59
57
  })), setEditCommentId(null));
60
58
  },
61
- handleReplyToComment: (commentId) => {
62
- setReplyToCommentId(commentId);
63
- },
64
59
  handleReset: () => {
65
- editCommentId && setEditCommentId(null);
60
+ setContent(""), editCommentId && setEditCommentId(null);
66
61
  }
67
62
  };
68
63
  };
@@ -1,18 +1,16 @@
1
1
  export declare const useCommentsContext: () => {
2
- displayedComments: import('../types').CommentProps[] | undefined;
3
- defaultComments: import('../types').CommentProps[] | undefined;
2
+ comments: import('../types').CommentProps[] | undefined;
3
+ content: string;
4
4
  editCommentId: string | null;
5
- replyToCommentId: string | null;
6
5
  profiles: (import('../types').UserProfileResult | undefined)[];
7
6
  options: Partial<import('../types').CommentOptions>;
8
7
  type: import('../types').CommentType;
9
8
  userRights?: Record<import('@edifice.io/client').RightRole, boolean>;
10
9
  setEditCommentId: (value: string | null) => void;
11
- setReplyToCommentId: (value: string | null) => void;
12
10
  handleModifyComment: (commentId: string) => void;
13
- handleCreateComment: (content: string, replyTo?: string) => void;
11
+ handleChangeContent: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
12
+ handleCreateComment: (content: string) => void;
14
13
  handleUpdateComment: (comment: string) => void;
15
14
  handleDeleteComment: (id: string) => void;
16
- handleReplyToComment: (commentId: string) => void;
17
15
  handleReset: () => void;
18
16
  };
@@ -3,7 +3,7 @@ import { useMemo } from "react";
3
3
  import { CommentForm } from "../components/CommentForm.js";
4
4
  import { CommentHeader } from "../components/CommentHeader.js";
5
5
  import { CommentList } from "../components/CommentList.js";
6
- import { DEFAULT_ADD_REPLIES, DEFAULT_MAX_REPLIES, DEFAULT_ADD_COMMENTS, DEFAULT_MAX_COMMENTS, DEFAULT_MAX_REPLY_LENGTH, DEFAULT_MAX_COMMENT_LENGTH } from "../constants.js";
6
+ import { DEFAULT_MAX_REPLIES, DEFAULT_ADD_COMMENTS, DEFAULT_MAX_COMMENTS, DEFAULT_MAX_REPLY_LENGTH, DEFAULT_MAX_COMMENT_LENGTH } from "../constants.js";
7
7
  import { CommentContext } from "../context/Context.js";
8
8
  import { useComments } from "../hooks/useComments.js";
9
9
  import Button from "../../../components/Button/Button.js";
@@ -19,28 +19,27 @@ const CommentProvider = ({
19
19
  maxComments: DEFAULT_MAX_COMMENTS,
20
20
  additionalComments: DEFAULT_ADD_COMMENTS,
21
21
  maxReplies: DEFAULT_MAX_REPLIES,
22
- additionalReplies: DEFAULT_ADD_REPLIES,
23
22
  ...commentOptions
24
23
  }, {
25
24
  type
26
25
  } = props, {
27
26
  profilesQueries,
27
+ content,
28
28
  title,
29
29
  user,
30
30
  emptyscreenPath,
31
- displayedComments,
32
- showMoreComments,
31
+ defaultCommentsCount,
32
+ comments,
33
33
  editCommentId,
34
34
  setEditCommentId,
35
- replyToCommentId,
36
- setReplyToCommentId,
35
+ commentsCount,
37
36
  t,
38
37
  handleMoreComments,
38
+ handleChangeContent,
39
39
  handleDeleteComment,
40
40
  handleCreateComment,
41
41
  handleModifyComment,
42
42
  handleUpdateComment,
43
- handleReplyToComment,
44
43
  handleReset
45
44
  } = useComments({
46
45
  type,
@@ -49,25 +48,23 @@ const CommentProvider = ({
49
48
  options
50
49
  }), userRights = type === "edit" ? props.rights : void 0, values = useMemo(
51
50
  () => ({
52
- displayedComments,
53
- defaultComments,
51
+ comments,
52
+ content,
54
53
  profiles: profilesQueries.data,
55
54
  editCommentId,
56
- replyToCommentId,
57
55
  options,
58
56
  type,
59
57
  userRights,
60
58
  setEditCommentId,
61
- setReplyToCommentId,
62
59
  handleCreateComment,
63
60
  handleModifyComment,
64
61
  handleUpdateComment,
65
62
  handleDeleteComment,
66
- handleReplyToComment,
67
- handleReset
63
+ handleReset,
64
+ handleChangeContent
68
65
  }),
69
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
70
- [displayedComments, editCommentId, profilesQueries, options]
67
+ [comments, content, editCommentId, profilesQueries, options]
71
68
  );
72
69
  return /* @__PURE__ */ jsx(CommentContext.Provider, { value: values, children: /* @__PURE__ */ jsxs("div", { className: "my-24", children: [
73
70
  /* @__PURE__ */ jsx(CommentHeader, { title }),
@@ -75,10 +72,10 @@ const CommentProvider = ({
75
72
  user && /* @__PURE__ */ jsx(CommentForm, { userId: user.userId }),
76
73
  profilesQueries.isLoading ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
77
74
  /* @__PURE__ */ jsx(CommentList, {}),
78
- showMoreComments && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", onClick: handleMoreComments, className: "my-16", children: t("comment.more") })
75
+ commentsCount !== defaultCommentsCount && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", onClick: handleMoreComments, className: "my-16", children: t("comment.more") })
79
76
  ] })
80
77
  ] }),
81
- !displayedComments.length && type === "edit" && /* @__PURE__ */ jsxs("div", { className: "comments-emptyscreen", children: [
78
+ !commentsCount && type === "edit" && /* @__PURE__ */ jsxs("div", { className: "comments-emptyscreen", children: [
82
79
  /* @__PURE__ */ jsx("div", { className: "comments-emptyscreen-wrapper", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyscreenPath, size: 150 }) }),
83
80
  /* @__PURE__ */ jsx("p", { children: t("comment.emptyscreen") })
84
81
  ] })
@@ -24,22 +24,13 @@ export interface CommentProps {
24
24
  * Date when comment was updated
25
25
  */
26
26
  updatedAt?: number;
27
- /**
28
- * The comment parent ID.
29
- */
30
- replyTo?: string;
31
- /**
32
- * If the comment is deleted.
33
- */
34
- deleted?: boolean;
35
27
  }
36
28
  export interface CommentCallbacks {
37
29
  /**
38
30
  * Method to create a new comment
39
31
  * Get the new comment in the callback function
40
- * If replyTo is provided, it is a reply to a comment
41
32
  */
42
- post: (comment: string, replyTo?: string) => Promise<void>;
33
+ post: (comment: string) => Promise<void>;
43
34
  /**
44
35
  * Method to update a comment
45
36
  * Get the comment and commentId in the callback function
@@ -100,10 +91,6 @@ export type CommentOptions = {
100
91
  * Limit on displaying replies to a comment
101
92
  */
102
93
  maxReplies: number;
103
- /**
104
- * Number of replies to load additionally in the limited list
105
- */
106
- additionalReplies: number;
107
94
  };
108
95
  export interface UserProfileResult {
109
96
  /**
@@ -1,5 +1,5 @@
1
1
  import { WorkspaceVisibility } from '@edifice.io/client';
2
- import { Content, FocusPosition, JSONContent } from '@tiptap/react';
2
+ import { Content, Extensions, FocusPosition, JSONContent } from '@tiptap/react';
3
3
  export interface EditorRef {
4
4
  /** Get the current content. */
5
5
  getContent: (as: 'html' | 'json' | 'plain') => undefined | string | JSONContent;
@@ -40,6 +40,8 @@ export interface EditorProps {
40
40
  onContentChange?: ({ editor }: {
41
41
  editor: any;
42
42
  }) => void;
43
+ /** Extensions to add to the editor */
44
+ extensions?: Extensions;
43
45
  }
44
46
  declare const Editor: import('react').ForwardRefExoticComponent<EditorProps & import('react').RefAttributes<EditorRef>>;
45
47
  export default Editor;
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useId, useImperativeHandle, Suspense, lazy } from "react";
3
3
  import { EditorContent } from "@tiptap/react";
4
4
  import clsx from "clsx";
@@ -16,7 +16,6 @@ import { EditorToolbar } from "../EditorToolbar/EditorToolbar.js";
16
16
  import LinkToolbar from "../Toolbar/LinkToolbar.js";
17
17
  import TableToolbar from "../Toolbar/TableToolbar.js";
18
18
  import BubbleMenuEditImage from "../BubbleMenuEditImage/BubbleMenuEditImage.js";
19
- import BubbleMenuEditInformationPane from "../BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js";
20
19
  import MediaLibrary from "../../../multimedia/MediaLibrary/MediaLibrary.js";
21
20
  import LoadingScreen from "../../../../components/LoadingScreen/LoadingScreen.js";
22
21
  const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/MathsModal.js")), ImageEditor = /* @__PURE__ */ lazy(async () => await import("../../../multimedia/ImageEditor/components/ImageEditor.js")), Editor = /* @__PURE__ */ forwardRef(({
@@ -28,14 +27,15 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
28
27
  focus = "start",
29
28
  placeholder = "",
30
29
  visibility = "protected",
31
- onContentChange
30
+ onContentChange,
31
+ extensions
32
32
  }, ref) => {
33
33
  const editorId = useId(), {
34
34
  appCode
35
35
  } = useEdificeClient(), {
36
36
  editor,
37
37
  editable
38
- } = useTipTapEditor(mode === "edit", content, focus, placeholder, onContentChange, visibility), {
38
+ } = useTipTapEditor(mode === "edit", content, focus, placeholder, onContentChange, visibility, extensions), {
39
39
  ref: mediaLibraryModalRef,
40
40
  ...mediaLibraryModalHandlers
41
41
  } = useMediaLibraryEditor(editor), {
@@ -71,10 +71,7 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
71
71
  ] }),
72
72
  /* @__PURE__ */ jsx(LinkToolbar, { editor, ...linkToolbarHandlers }),
73
73
  /* @__PURE__ */ jsx(TableToolbar, { editor }),
74
- editor && /* @__PURE__ */ jsxs(Fragment, { children: [
75
- /* @__PURE__ */ jsx(BubbleMenuEditImage, { editor, onEditImage: imageModal.handleEdit, openEditImage: imageModal.isOpen, editable }),
76
- /* @__PURE__ */ jsx(BubbleMenuEditInformationPane, { editor, editable })
77
- ] }),
74
+ editor && /* @__PURE__ */ jsx(BubbleMenuEditImage, { editor, onEditImage: imageModal.handleEdit, openEditImage: imageModal.isOpen, editable }),
78
75
  /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, {}), children: [
79
76
  editable && /* @__PURE__ */ jsx(MediaLibrary, { appCode, visibility, multiple: !0, ref: mediaLibraryModalRef, ...mediaLibraryModalHandlers }),
80
77
  editable && mathsModalHandlers.isOpen && /* @__PURE__ */ jsx(MathsModal, { ...mathsModalHandlers }),
@@ -5,7 +5,6 @@ import "@tiptap/react";
5
5
  import "@tiptap/starter-kit";
6
6
  import SvgIconAlignLeft from "../../../icons/components/IconAlignLeft.js";
7
7
  import SvgIconBulletList from "../../../icons/components/IconBulletList.js";
8
- import SvgIconInfoRectangle from "../../../icons/components/IconInfoRectangle.js";
9
8
  import SvgIconLandscape from "../../../icons/components/IconLandscape.js";
10
9
  import SvgIconLink from "../../../icons/components/IconLink.js";
11
10
  import SvgIconMic from "../../../icons/components/IconMic.js";
@@ -214,17 +213,6 @@ const EditorToolbar = ({
214
213
  visibility: showIf(hasMark("customHighlight", editor)),
215
214
  tooltip: t("tiptap.toolbar.highlight.back")
216
215
  },
217
- //--------------- INFORMATION PANE ---------------//
218
- {
219
- type: "icon",
220
- props: {
221
- icon: /* @__PURE__ */ jsx(SvgIconInfoRectangle, {}),
222
- "aria-label": t("tiptap.toolbar.information.pane"),
223
- onClick: () => editor == null ? void 0 : editor.chain().focus().setInformationPane("info").run()
224
- },
225
- name: "information-pane",
226
- tooltip: t("tiptap.toolbar.information.pane")
227
- },
228
216
  //-------------------------------------//
229
217
  {
230
218
  type: "divider",
@@ -0,0 +1,2 @@
1
+ declare const ConversationHistoryNodeView: (Component: any) => import('@tiptap/core').Node<any, any>;
2
+ export default ConversationHistoryNodeView;
@@ -0,0 +1,10 @@
1
+ import { ConversationHistory } from "@edifice.io/tiptap-extensions/conversation-history";
2
+ import { ReactNodeViewRenderer } from "@tiptap/react";
3
+ const ConversationHistoryNodeView = (Component) => ConversationHistory.extend({
4
+ addNodeView() {
5
+ return ReactNodeViewRenderer(Component);
6
+ }
7
+ });
8
+ export {
9
+ ConversationHistoryNodeView as default
10
+ };
@@ -1,6 +1,6 @@
1
- export { default as AudioNodeView } from './AudioNodeView';
2
1
  export { default as AttachmentNodeView } from './AttachmentNodeView';
2
+ export { default as AudioNodeView } from './AudioNodeView';
3
+ export { default as ConversationHistoryNodeView } from './ConversationHistoryNodeView';
3
4
  export { default as ImageNodeView } from './ImageNodeView';
4
5
  export { default as LinkerNodeView } from './LinkerNodeView';
5
6
  export { default as VideoNodeView } from './VideoNodeView';
6
- export { default as InformationPaneNodeView } from './InformationPaneNodeView';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `ConversationHistoryRenderer` is a React component that renders a button to toggle the visibility
3
+ * of conversation history content. It uses the `@tiptap/react` library for rendering content and
4
+ * `clsx` for conditional class names. The component also utilizes the `useTranslation` hook from
5
+ * `react-i18next` for internationalization and a custom `useToggle` hook for managing the open state.
6
+ */
7
+ declare const ConversationHistoryRenderer: () => import("react/jsx-runtime").JSX.Element;
8
+ export default ConversationHistoryRenderer;
@@ -0,0 +1,28 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { NodeViewWrapper, NodeViewContent } from "@tiptap/react";
3
+ import clsx from "clsx";
4
+ import { useTranslation } from "react-i18next";
5
+ import SvgIconRafterDown from "../../../icons/components/IconRafterDown.js";
6
+ import SvgIconRafterUp from "../../../icons/components/IconRafterUp.js";
7
+ import useToggle from "../../../../hooks/useToggle/useToggle.js";
8
+ import Button from "../../../../components/Button/Button.js";
9
+ const ConversationHistoryRenderer = () => {
10
+ const {
11
+ t
12
+ } = useTranslation("conversation"), [open, toggleOpen] = useToggle(!1), classes = clsx("conversation-history ps-16", {
13
+ show: open
14
+ });
15
+ return /* @__PURE__ */ jsxs(NodeViewWrapper, { as: "div", contentEditable: !1, children: [
16
+ /* @__PURE__ */ jsx(Button, { variant: "ghost", onClick: toggleOpen, size: "sm", className: "d-flex align-items-center gap-4 text-gray-800 fs-6 mt-24", children: open ? /* @__PURE__ */ jsxs(Fragment, { children: [
17
+ t("message.history.hide"),
18
+ /* @__PURE__ */ jsx(SvgIconRafterUp, { width: 16, height: 16 })
19
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
20
+ t("message.history.show"),
21
+ /* @__PURE__ */ jsx(SvgIconRafterDown, { width: 16, height: 16 })
22
+ ] }) }),
23
+ /* @__PURE__ */ jsx("div", { className: classes, "data-testid": "conversation-history-content", children: /* @__PURE__ */ jsx(NodeViewContent, {}) })
24
+ ] });
25
+ };
26
+ export {
27
+ ConversationHistoryRenderer as default
28
+ };
@@ -1,5 +1,5 @@
1
- export { default as AudioRenderer } from './AudioRenderer';
2
1
  export { default as AttachmentRenderer } from './AttachmentRenderer';
2
+ export { default as AudioRenderer } from './AudioRenderer';
3
+ export { default as ConversationHistoryRenderer } from './ConversationHistoryRenderer';
3
4
  export { default as LinkerRenderer } from './LinkerRenderer';
4
5
  export { default as MediaRenderer } from './MediaRenderer';
5
- export { default as InformationPaneRenderer } from './InformationPaneRenderer';
@@ -1,4 +1,4 @@
1
- import { Content, FocusPosition } from '@tiptap/react';
1
+ import { Content, Extensions, FocusPosition } from '@tiptap/react';
2
2
  import { WorkspaceVisibility } from '@edifice.io/client';
3
3
  /**
4
4
  * Hook that creates a tiptap editor instance.
@@ -7,10 +7,14 @@ import { WorkspaceVisibility } from '@edifice.io/client';
7
7
  * @param content default rich content
8
8
  * @param focus set focus position to the editor
9
9
  * @param placeholder editor placeholder content
10
+ * @param onContentChange callback to be called on content change
11
+ * @param visibility workspace visibility
12
+ * @param extensions extensions to add to the editor
13
+ * @returns the editor instance and the editable state
10
14
  */
11
15
  export declare const useTipTapEditor: (editable: boolean, content: Content, focus?: FocusPosition, placeholder?: string, onContentChange?: ({ editor }: {
12
16
  editor: any;
13
- }) => void, visibility?: WorkspaceVisibility) => {
17
+ }) => void, visibility?: WorkspaceVisibility, extensions?: Extensions) => {
14
18
  editor: import('@tiptap/core').Editor | null;
15
19
  editable: boolean;
16
20
  };
@@ -32,13 +32,11 @@ import AudioNodeView from "../components/NodeView/AudioNodeView.js";
32
32
  import LinkerNodeView from "../components/NodeView/LinkerNodeView.js";
33
33
  import ImageNodeView from "../components/NodeView/ImageNodeView.js";
34
34
  import AttachmentNodeView from "../components/NodeView/AttachmentNodeView.js";
35
- import InformationPaneNodeView from "../components/NodeView/InformationPaneNodeView.js";
36
35
  import MediaRenderer from "../components/Renderer/MediaRenderer.js";
37
36
  import AudioRenderer from "../components/Renderer/AudioRenderer.js";
38
37
  import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
39
38
  import AttachmentRenderer from "../components/Renderer/AttachmentRenderer.js";
40
- import InformationPaneRenderer from "../components/Renderer/InformationPaneRenderer.js";
41
- const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected") => {
39
+ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected", extensions) => {
42
40
  const {
43
41
  currentLanguage
44
42
  } = useEdificeClient(), {
@@ -65,7 +63,7 @@ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange,
65
63
  levels: [1, 2]
66
64
  }), Typography, FontSize, SpeechRecognition, SpeechSynthesis.configure({
67
65
  lang: (currentLanguage == null ? void 0 : currentLanguage.length) === 2 ? `${currentLanguage}-${currentLanguage.toUpperCase()}` : "fr-FR"
68
- }), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer, uploadFile), AttachmentNodeView(AttachmentRenderer), InformationPaneNodeView(InformationPaneRenderer)],
66
+ }), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer, uploadFile), AttachmentNodeView(AttachmentRenderer), ...extensions || []],
69
67
  content,
70
68
  // If the onContentChange callback is provided, we call it on every content change.
71
69
  ...onContentChange ? {
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconFolderAdd: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconFolderAdd;
@@ -0,0 +1,13 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconFolderAdd = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("g", { clipPath: "url(#icon-folder-add_svg__a)", children: /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M10.985 5.283A2 2 0 0 0 12.965 7H22v12H2V4h7.5a1.5 1.5 0 0 1 1.485 1.283M1.902 2C.852 2 0 2.852 0 3.902V19a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-9.035A3.5 3.5 0 0 0 9.5 2zM12 8a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V9a1 1 0 0 1 1-1", clipRule: "evenodd" }) }),
9
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-folder-add_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
10
+ ] });
11
+ export {
12
+ SvgIconFolderAdd as default
13
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconFolderDelete: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconFolderDelete;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconFolderDelete = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M2.756 2A2.756 2.756 0 0 0 0 4.756V18a3 3 0 0 0 3 3h6.5a1 1 0 1 0 0-2H3a1 1 0 0 1-1-1V4.756C2 4.34 2.339 4 2.756 4H9.5A2.5 2.5 0 0 1 12 6.5a1 1 0 0 0 1 1h8a1 1 0 0 1 1 1 1 1 0 1 0 2 0 3 3 0 0 0-3-3h-7.111A4.5 4.5 0 0 0 9.5 2zm20.85 9.536a1 1 0 0 1 0 1.414l-3.535 3.535 3.536 3.536a1 1 0 0 1-1.415 1.414L18.657 17.9l-3.536 3.535a1 1 0 0 1-1.414-1.414l3.536-3.536-3.536-3.535a1 1 0 0 1 1.414-1.414l3.536 3.535 3.535-3.535a1 1 0 0 1 1.415 0", clipRule: "evenodd" })
9
+ ] });
10
+ export {
11
+ SvgIconFolderDelete as default
12
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconGlobe2: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconGlobe2;
@@ -0,0 +1,16 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconGlobe2 = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsxs("g", { fill: "currentColor", fillRule: "evenodd", clipPath: "url(#icon-globe-2_svg__a)", clipRule: "evenodd", children: [
9
+ /* @__PURE__ */ jsx("path", { d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10m0 2c6.627 0 12-5.373 12-12S18.627 0 12 0C5.372 0 0 5.373 0 12s5.372 12 12 12" }),
10
+ /* @__PURE__ */ jsx("path", { d: "M16.944 2.761V2.76a.67.67 0 0 0 .09-.683l-.416.182-.057.129-.078.611a.63.63 0 0 0 .46-.238m-.571.224-.065-.025.096-.216zm.01.003.03-.267.146-.328-.08.606h-.052zm.235-.73.416-.18a7.3 7.3 0 0 1 .504 1.754c.047.324.07.701.007 1.064-.061.355-.234.847-.714 1.16l-.09.059-1.215.464a1.26 1.26 0 0 0-.82 1.012l-.002.008-.009.069c-.136.95-1.001 1.151-1.134 1.177-.414.082-1.113.007-1.519-.64l-.006-.011-.224-.377c-.35.728-.718 1.572-.809 2.32v.002a.44.44 0 0 0 .041.247l.023.043.478 1.161c.097.17.245.324.437.44.36.218 1.13.713 1.654 1.323.04.047.264.221.9.398.633.177 1.133.73 1.181 1.432.058.849.193 1.37.335 1.649a.6.6 0 0 0 .103.157l.033.001.05.007.02.001.056.002c.14 0 .375-.03.603-.19.318-.223.634-.703.755-1.68v-.001c.051-.404.12-.913.239-1.429l.064-.34a297 297 0 0 1 .31-1.625l.084-.403.015-.058a1.012 1.012 0 0 1 1.04-.758c.26.015.443.128.488.156h.001c.124.077.216.17.249.203.09.091.183.203.25.287.075.092.145.184.196.251l.062.084.018.024.005.007.002.003-.384.28.384-.28.013.018.012.018a.34.34 0 0 0 .221.138.39.39 0 0 0 .292-.06l1.04-.745a.66.66 0 0 0-.273.536h2c0 .443-.219.843-.562 1.09m0 0-1.04.744a2.38 2.38 0 0 1-2.411.21l-.047.248-.067.359-.004.022-.005.022c-.097.416-.157.848-.207 1.246-.159 1.279-.633 2.398-1.592 3.071a3.06 3.06 0 0 1-2.032.538c-.847-.043-1.428-.586-1.764-1.248-.29-.571-.449-1.306-.525-2.136-.634-.2-1.235-.49-1.626-.946-.3-.35-.829-.707-1.17-.913a3.23 3.23 0 0 1-1.193-1.259l-.021-.04-.483-1.171a2.44 2.44 0 0 1-.233-1.378l.993.122-.993-.121c.15-1.234.775-2.507 1.135-3.242l.025-.05a1.79 1.79 0 0 1 1.527-.994h.008c.516-.02 1.031.175 1.396.56a3.3 3.3 0 0 1 1.703-1.46l.771-.294q0-.115-.024-.301a5.3 5.3 0 0 0-.358-1.236c-.2-.459-.126-.985.183-1.37l.78.626-.78-.625v-.002c.31-.385.786-.551 1.232-.498h.01l.115.016q.192.024.376.105l-.499 1.128m3.692 9.553-.096.07zM6.045 14.091a1.84 1.84 0 0 1 1.507.163c.575.348.805.94.805 1.502v.747c0 .338.081.546.191.694.116.156.329.33.73.48l1.751.655c.534.2 1.02.485 1.443.854l.344.3c1.015.887 1.445 2.241 1.024 3.528l-.098.298-1.9-.624.097-.296c.152-.464.021-.998-.439-1.4l-.344-.3a2.7 2.7 0 0 0-.827-.486l-1.75-.655c-.656-.245-1.23-.615-1.635-1.16-.411-.552-.587-1.201-.587-1.888v-.382l-3.93 1.605-.755-1.852 4.338-1.772zM8.876 2.991c.084.494.124.996.124 1.32m0 .84v-.84zm0 0c0 .847-.41 1.658-1.001 2.268L6.196 9.276a.82.82 0 0 0-.187.831 1.825 1.825 0 0 1-1.017 2.245L1.4 13.917l-.798-1.834 3.462-1.508a2.82 2.82 0 0 1 .698-2.692l1.803-1.857C6.885 5.695 7 5.36 7 5.15v-.84c0-.196-.028-.584-.096-.982-.074-.436-.169-.708-.222-.791L8.37 1.463c.286.45.429 1.072.507 1.528m-4.77 7.733" })
11
+ ] }),
12
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-globe-2_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
13
+ ] });
14
+ export {
15
+ SvgIconGlobe2 as default
16
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconGroupAvatar: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconGroupAvatar;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconGroupAvatar = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M18.467 13.128a.917.917 0 0 1 1.166-.566c1.034.358 1.89 1.143 2.475 2.155.586 1.014.891 2.233.892 3.467v2.458a.917.917 0 0 1-1.833 0v-2.457c0-.944-.236-1.842-.646-2.55-.41-.709-.948-1.154-1.488-1.34a.917.917 0 0 1-.566-1.167M14.921 2.661a.917.917 0 0 1 .95-.882 4.702 4.702 0 0 1 1.934 8.902.917.917 0 0 1-.822-1.64 2.868 2.868 0 0 0-1.18-5.43.917.917 0 0 1-.882-.95M2.38 15.778c.894-.982 2.127-1.552 3.432-1.552h7.792c1.306 0 2.538.57 3.433 1.552.892.98 1.38 2.29 1.38 3.642v2.14a.917.917 0 1 1-1.834 0v-2.14c0-.917-.332-1.782-.902-2.407-.567-.623-1.316-.954-2.077-.954H5.812c-.76 0-1.51.331-2.077.954-.569.625-.902 1.49-.902 2.407v2.14a.917.917 0 1 1-1.833 0v-2.14c0-1.351.488-2.663 1.38-3.642M9.708 4.142a3.208 3.208 0 1 0 0 6.417 3.208 3.208 0 0 0 0-6.417M4.667 7.351a5.042 5.042 0 1 1 10.083 0 5.042 5.042 0 0 1-10.083 0", clipRule: "evenodd" })
9
+ ] });
10
+ export {
11
+ SvgIconGroupAvatar as default
12
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconMailRecall: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconMailRecall;