@edifice.io/react 2.2.3-develop-integration.20250415202629 → 2.2.3-develop-b2school.20250416152157

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 (84) hide show
  1. package/dist/components/Combobox/Combobox.d.ts +55 -5
  2. package/dist/components/Combobox/Combobox.js +13 -7
  3. package/dist/components/Combobox/ComboboxTrigger.d.ts +30 -2
  4. package/dist/components/Combobox/ComboboxTrigger.js +27 -8
  5. package/dist/components/Dropdown/Dropdown.d.ts +10 -2
  6. package/dist/components/Dropdown/Dropdown.js +5 -3
  7. package/dist/components/Dropdown/DropdownItem.d.ts +5 -1
  8. package/dist/components/Dropdown/DropdownItem.js +4 -1
  9. package/dist/components/Dropdown/DropdownTrigger.js +5 -1
  10. package/dist/components/List/List.d.ts +9 -1
  11. package/dist/components/List/List.js +9 -9
  12. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  13. package/dist/components/SearchBar/SearchBar.js +3 -1
  14. package/dist/editor.js +28 -28
  15. package/dist/hooks/index.d.ts +1 -0
  16. package/dist/hooks/useCheckable/useCheckable.js +10 -3
  17. package/dist/hooks/useConversation/useConversation.d.ts +1 -1
  18. package/dist/hooks/useConversation/useConversation.js +13 -17
  19. package/dist/hooks/useDropdown/useDropdown.d.ts +2 -1
  20. package/dist/hooks/useDropdown/useDropdown.js +5 -3
  21. package/dist/hooks/useWorkspaceFolders/index.d.ts +2 -0
  22. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +28 -0
  23. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +74 -0
  24. package/dist/icons.js +280 -266
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +48 -20
  27. package/dist/modals.js +16 -14
  28. package/dist/modules/editor/components/Editor/Editor.d.ts +3 -1
  29. package/dist/modules/editor/components/Editor/Editor.js +9 -23
  30. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +1 -4
  31. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +4 -19
  32. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.d.ts +2 -0
  33. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -0
  34. package/dist/modules/editor/components/NodeView/index.d.ts +2 -1
  35. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.d.ts +8 -0
  36. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -0
  37. package/dist/modules/editor/components/Renderer/index.d.ts +2 -1
  38. package/dist/modules/editor/hooks/index.d.ts +0 -2
  39. package/dist/modules/editor/hooks/useTipTapEditor.d.ts +6 -2
  40. package/dist/modules/editor/hooks/useTipTapEditor.js +2 -2
  41. package/dist/modules/icons/components/IconFolderAdd.d.ts +7 -0
  42. package/dist/modules/icons/components/IconFolderAdd.js +13 -0
  43. package/dist/modules/icons/components/IconFolderDelete.d.ts +7 -0
  44. package/dist/modules/icons/components/IconFolderDelete.js +12 -0
  45. package/dist/modules/icons/components/{IconCantoo.d.ts → IconGlobe2.d.ts} +2 -2
  46. package/dist/modules/icons/components/IconGlobe2.js +16 -0
  47. package/dist/modules/icons/components/IconGroupAvatar.d.ts +7 -0
  48. package/dist/modules/icons/components/IconGroupAvatar.js +12 -0
  49. package/dist/modules/icons/components/IconMailRecall.d.ts +7 -0
  50. package/dist/modules/icons/components/IconMailRecall.js +13 -0
  51. package/dist/modules/icons/components/IconQuestionMark.d.ts +7 -0
  52. package/dist/modules/icons/components/IconQuestionMark.js +13 -0
  53. package/dist/modules/icons/components/IconReadMail.d.ts +7 -0
  54. package/dist/modules/icons/components/IconReadMail.js +16 -0
  55. package/dist/modules/icons/components/IconSignature.d.ts +7 -0
  56. package/dist/modules/icons/components/IconSignature.js +13 -0
  57. package/dist/modules/icons/components/IconUndoAll.d.ts +7 -0
  58. package/dist/modules/icons/components/IconUndoAll.js +14 -0
  59. package/dist/modules/icons/components/IconUnreadMail.d.ts +7 -0
  60. package/dist/modules/icons/components/IconUnreadMail.js +16 -0
  61. package/dist/modules/icons/components/index.d.ts +10 -3
  62. package/dist/modules/modals/ConfirmModal/ConfirmModal.d.ts +47 -0
  63. package/dist/modules/modals/ConfirmModal/ConfirmModal.js +37 -0
  64. package/dist/modules/modals/ConfirmModal/index.d.ts +1 -0
  65. package/dist/modules/modals/index.d.ts +1 -0
  66. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.d.ts +8 -0
  67. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.js +31 -0
  68. package/dist/modules/multimedia/WorkspaceFolders/index.d.ts +1 -0
  69. package/dist/modules/multimedia/index.d.ts +1 -0
  70. package/dist/multimedia.js +3 -1
  71. package/package.json +6 -6
  72. package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.d.ts +0 -4
  73. package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.js +0 -15
  74. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.d.ts +0 -12
  75. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.js +0 -73
  76. package/dist/modules/editor/hooks/useCantooAdaptTextBox.d.ts +0 -15
  77. package/dist/modules/editor/hooks/useCantooAdaptTextBox.js +0 -32
  78. package/dist/modules/editor/hooks/useCantooEditor.d.ts +0 -9
  79. package/dist/modules/editor/hooks/useCantooEditor.js +0 -55
  80. package/dist/modules/icons/components/IconCantoo.js +0 -23
  81. package/dist/modules/icons/components/IconMicOff.d.ts +0 -7
  82. package/dist/modules/icons/components/IconMicOff.js +0 -12
  83. package/dist/modules/icons/components/IconTextToSpeechOff.d.ts +0 -7
  84. package/dist/modules/icons/components/IconTextToSpeechOff.js +0 -12
package/dist/index.js CHANGED
@@ -72,16 +72,27 @@ import { default as default71 } from "./hooks/useUpload/useUpload.js";
72
72
  import { default as default72 } from "./hooks/useUploadFiles/useUploadFiles.js";
73
73
  import { default as default73 } from "./hooks/useUser/useUser.js";
74
74
  import { default as default74 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
75
- import { default as default75 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
76
- import { default as default76 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
77
- import { default as default77 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
78
- import { default as default78 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
79
- import { default as default79 } from "./modules/modals/PublishModal/PublishModal.js";
80
- import { default as default80 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
81
- import { default as default81 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
82
- import { default as default82 } from "./modules/modals/ShareModal/ShareModal.js";
83
- import { default as default83 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
84
- import { default as default84 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
75
+ import { WORKSPACE_OWNER_FOLDER_ID, WORKSPACE_SHARED_FOLDER_ID, default as default75 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
76
+ import { default as default76 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
77
+ import { default as default77 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
78
+ import { default as default78 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
79
+ import { default as default79 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
80
+ import { default as default80 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
81
+ import { default as default81 } from "./modules/modals/PublishModal/PublishModal.js";
82
+ import { default as default82 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
83
+ import { default as default83 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
84
+ import { default as default84 } from "./modules/modals/ShareModal/ShareModal.js";
85
+ import { default as default85 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
86
+ import { default as default86 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
87
+ import { default as default87 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
88
+ import { default as default88 } from "./modules/multimedia/Embed/Embed.js";
89
+ import { default as default89 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
90
+ import { default as default90 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
91
+ import { default as default91 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
92
+ import { default as default92 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
93
+ import { default as default93 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
94
+ import { default as default94 } from "./modules/multimedia/Workspace/Workspace.js";
95
+ import { default as default95 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
85
96
  import { AccessiblePalette, DefaultPalette } from "./components/ColorPicker/ColorPalette.js";
86
97
  import { DropzoneContext, useDropzoneContext } from "./components/Dropzone/DropzoneContext.js";
87
98
  import { Column, Grid } from "./components/Grid/Grid.js";
@@ -98,6 +109,8 @@ import { TreeNode } from "./components/TreeView/TreeNode.js";
98
109
  import { TreeNodeFolderWrapper, addNode, arrayUnique, deleteNode, findNodeById, findParentNode, findPathById, findTreeNode, getAncestors, hasChildren, modifyNode, moveNode, updateNode, wrapTreeNode } from "./components/TreeView/utilities/treeview.js";
99
110
  import { useCheckable } from "./hooks/useCheckable/useCheckable.js";
100
111
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
112
+ import { ExternalLinker } from "./modules/multimedia/Linker/ExternalLinker/ExternalLinker.js";
113
+ import { InternalLinker } from "./modules/multimedia/Linker/InternalLinker/InternalLinker.js";
101
114
  import { EdificeClientProvider } from "./providers/EdificeClientProvider/EdificeClientProvider.js";
102
115
  import { EdificeClientContext } from "./providers/EdificeClientProvider/EdificeClientProvider.context.js";
103
116
  import { useEdificeClient } from "./providers/EdificeClientProvider/EdificeClientProvider.hook.js";
@@ -115,10 +128,11 @@ export {
115
128
  default4 as AppHeader,
116
129
  default5 as AppIcon,
117
130
  default6 as Attachment,
131
+ default87 as AudioRecorder,
118
132
  default7 as Avatar,
119
133
  default8 as AvatarGroup,
120
134
  default9 as Badge,
121
- default80 as BlogPublic,
135
+ default82 as BlogPublic,
122
136
  default10 as Breadcrumb,
123
137
  default11 as Button,
124
138
  default14 as Card,
@@ -127,6 +141,7 @@ export {
127
141
  default17 as ColorPickerItem,
128
142
  Column,
129
143
  default18 as Combobox,
144
+ default79 as ConfirmModal,
130
145
  DefaultPalette,
131
146
  DndTree,
132
147
  default19 as Dropdown,
@@ -136,37 +151,43 @@ export {
136
151
  EdificeClientProvider,
137
152
  EdificeThemeContext,
138
153
  EdificeThemeProvider,
154
+ default88 as Embed,
139
155
  default21 as EmptyScreen,
156
+ ExternalLinker,
140
157
  default23 as FormControl,
141
158
  default22 as FormText,
142
159
  Grid,
143
160
  default24 as Heading,
144
161
  default12 as IconButton,
145
162
  default25 as Image,
163
+ default89 as ImageEditor,
164
+ default90 as ImagePicker,
146
165
  default26 as Input,
166
+ InternalLinker,
147
167
  default27 as Label,
148
168
  Layout,
149
169
  List,
150
170
  default28 as Loading,
151
171
  default29 as LoadingScreen,
152
172
  default30 as Logo,
173
+ default91 as MediaLibrary,
153
174
  Menu,
154
175
  MockedProvider,
155
176
  default31 as Modal,
156
- default78 as OnboardingModal,
177
+ default80 as OnboardingModal,
157
178
  Popover,
158
179
  PopoverBody,
159
180
  PopoverFooter,
160
181
  PopoverHeader,
161
182
  default32 as PreventPropagation,
162
- default79 as PublishModal,
183
+ default81 as PublishModal,
163
184
  default33 as Radio,
164
185
  ResourceModal,
165
186
  default34 as SearchBar,
166
187
  default13 as SearchButton,
167
188
  default35 as Select,
168
- default83 as ShareBlog,
169
- default82 as ShareModal,
189
+ default85 as ShareBlog,
190
+ default84 as ShareModal,
170
191
  default41 as SortableTree,
171
192
  default36 as StackedGroup,
172
193
  default37 as Switch,
@@ -179,7 +200,13 @@ export {
179
200
  TreeNode,
180
201
  TreeNodeFolderWrapper,
181
202
  default43 as TreeView,
203
+ default92 as VideoEmbed,
204
+ default93 as VideoRecorder,
182
205
  default44 as VisuallyHidden,
206
+ WORKSPACE_OWNER_FOLDER_ID,
207
+ WORKSPACE_SHARED_FOLDER_ID,
208
+ default94 as Workspace,
209
+ default95 as WorkspaceFolders,
183
210
  addNode,
184
211
  arrayUnique,
185
212
  buildTree,
@@ -232,7 +259,7 @@ export {
232
259
  default63 as useLibraryUrl,
233
260
  default64 as useMediaLibrary,
234
261
  default65 as useScrollToTop,
235
- default84 as useShareMutation,
262
+ default86 as useShareMutation,
236
263
  default66 as useTitle,
237
264
  default67 as useToast,
238
265
  default68 as useToggle,
@@ -240,13 +267,14 @@ export {
240
267
  default70 as useTrashedResource,
241
268
  useTreeSortable,
242
269
  useTreeView,
243
- default81 as useUpdateMutation,
270
+ default83 as useUpdateMutation,
244
271
  default71 as useUpload,
245
272
  default72 as useUploadFiles,
246
273
  default73 as useUser,
247
274
  default74 as useWorkspaceFile,
248
- default75 as useWorkspaceSearch,
249
- default76 as useXitiTrackPageLoad,
250
- default77 as useZendeskGuide,
275
+ default75 as useWorkspaceFolders,
276
+ default76 as useWorkspaceSearch,
277
+ default77 as useXitiTrackPageLoad,
278
+ default78 as useZendeskGuide,
251
279
  wrapTreeNode
252
280
  };
package/dist/modals.js CHANGED
@@ -1,18 +1,20 @@
1
- import { default as default2 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
2
- import { default as default3 } from "./modules/modals/PublishModal/PublishModal.js";
3
- import { default as default4 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
4
- import { default as default5 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
5
- import { default as default6 } from "./modules/modals/ShareModal/ShareModal.js";
6
- import { default as default7 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
7
- import { default as default8 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
1
+ import { default as default2 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
2
+ import { default as default3 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
3
+ import { default as default4 } from "./modules/modals/PublishModal/PublishModal.js";
4
+ import { default as default5 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
5
+ import { default as default6 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
6
+ import { default as default7 } from "./modules/modals/ShareModal/ShareModal.js";
7
+ import { default as default8 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
8
+ import { default as default9 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
8
9
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
9
10
  export {
10
- default4 as BlogPublic,
11
- default2 as OnboardingModal,
12
- default3 as PublishModal,
11
+ default5 as BlogPublic,
12
+ default2 as ConfirmModal,
13
+ default3 as OnboardingModal,
14
+ default4 as PublishModal,
13
15
  ResourceModal,
14
- default7 as ShareBlog,
15
- default6 as ShareModal,
16
- default8 as useShareMutation,
17
- default5 as useUpdateMutation
16
+ default8 as ShareBlog,
17
+ default7 as ShareModal,
18
+ default9 as useShareMutation,
19
+ default6 as useUpdateMutation
18
20
  };
@@ -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;
@@ -4,7 +4,6 @@ import { EditorContent } from "@tiptap/react";
4
4
  import clsx from "clsx";
5
5
  import "@tiptap/starter-kit";
6
6
  import { useEdificeClient } from "../../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
7
- import { useCantooAdaptTextBox } from "../../hooks/useCantooAdaptTextBox.js";
8
7
  import { useMathsStyles } from "../../hooks/useMathsStyles.js";
9
8
  import { useTipTapEditor } from "../../hooks/useTipTapEditor.js";
10
9
  import { useMediaLibraryEditor } from "../../hooks/useMediaLibraryEditor.js";
@@ -14,13 +13,13 @@ import { useLinkToolbar } from "../../hooks/useLinkToolbar.js";
14
13
  import { useSpeechSynthetisis } from "../../hooks/useSpeechSynthetisis.js";
15
14
  import { EditorContext } from "../../hooks/useEditorContext.js";
16
15
  import { EditorToolbar } from "../EditorToolbar/EditorToolbar.js";
17
- import LoadingScreen from "../../../../components/LoadingScreen/LoadingScreen.js";
18
16
  import LinkToolbar from "../Toolbar/LinkToolbar.js";
19
17
  import TableToolbar from "../Toolbar/TableToolbar.js";
20
18
  import BubbleMenuEditImage from "../BubbleMenuEditImage/BubbleMenuEditImage.js";
21
19
  import BubbleMenuEditInformationPane from "../BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js";
22
20
  import MediaLibrary from "../../../multimedia/MediaLibrary/MediaLibrary.js";
23
- const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/MathsModal.js")), ImageEditor = /* @__PURE__ */ lazy(async () => await import("../../../multimedia/ImageEditor/components/ImageEditor.js")), CantooAdaptTextBoxView = /* @__PURE__ */ lazy(async () => await import("./CantooAdaptTextBoxView.js")), Editor = /* @__PURE__ */ forwardRef(({
21
+ import LoadingScreen from "../../../../components/LoadingScreen/LoadingScreen.js";
22
+ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/MathsModal.js")), ImageEditor = /* @__PURE__ */ lazy(async () => await import("../../../multimedia/ImageEditor/components/ImageEditor.js")), Editor = /* @__PURE__ */ forwardRef(({
24
23
  id,
25
24
  content,
26
25
  mode = "read",
@@ -29,20 +28,21 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
29
28
  focus = "start",
30
29
  placeholder = "",
31
30
  visibility = "protected",
32
- onContentChange
31
+ onContentChange,
32
+ extensions
33
33
  }, ref) => {
34
34
  const editorId = useId(), {
35
35
  appCode
36
36
  } = useEdificeClient(), {
37
37
  editor,
38
38
  editable
39
- } = useTipTapEditor(mode === "edit", content, focus, placeholder, onContentChange, visibility), {
39
+ } = useTipTapEditor(mode === "edit", content, focus, placeholder, onContentChange, visibility, extensions), {
40
40
  ref: mediaLibraryModalRef,
41
41
  ...mediaLibraryModalHandlers
42
42
  } = useMediaLibraryEditor(editor), {
43
43
  toggle: toggleMathsModal,
44
44
  ...mathsModalHandlers
45
- } = useMathsModal(editor), cantooAdaptTextBox = useCantooAdaptTextBox(), imageModal = useImageModal(editor, "media-library", visibility), linkToolbarHandlers = useLinkToolbar(editor, mediaLibraryModalRef), speechSynthetisis = useSpeechSynthetisis(editor);
45
+ } = useMathsModal(editor), imageModal = useImageModal(editor, "media-library", visibility), linkToolbarHandlers = useLinkToolbar(editor, mediaLibraryModalRef), speechSynthetisis = useSpeechSynthetisis(editor);
46
46
  if (useMathsStyles(), useImperativeHandle(ref, () => ({
47
47
  getContent: (as) => {
48
48
  switch (as) {
@@ -67,18 +67,8 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
67
67
  editable
68
68
  }, children: [
69
69
  /* @__PURE__ */ jsxs("div", { className: borderClass, children: [
70
- toolbar !== "none" && editable && /* @__PURE__ */ jsx(EditorToolbar, { mediaLibraryRef: mediaLibraryModalRef, toggleMathsModal, cantooAdaptTextBoxRef: cantooAdaptTextBox }),
71
- /* @__PURE__ */ jsxs("div", { style: {
72
- display: "flex",
73
- gap: "16px"
74
- }, children: [
75
- /* @__PURE__ */ jsx(EditorContent, { id: id ?? editorId, editor, className: contentClass, style: {
76
- flex: 1
77
- } }),
78
- /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, {}), children: editable && cantooAdaptTextBox.openPosition.right && /* @__PURE__ */ jsx("div", { style: {
79
- flex: 1
80
- }, children: /* @__PURE__ */ jsx(CantooAdaptTextBoxView, {}) }) })
81
- ] })
70
+ toolbar !== "none" && editable && /* @__PURE__ */ jsx(EditorToolbar, { mediaLibraryRef: mediaLibraryModalRef, toggleMathsModal }),
71
+ /* @__PURE__ */ jsx(EditorContent, { id: id ?? editorId, editor, className: contentClass })
82
72
  ] }),
83
73
  /* @__PURE__ */ jsx(LinkToolbar, { editor, ...linkToolbarHandlers }),
84
74
  /* @__PURE__ */ jsx(TableToolbar, { editor }),
@@ -89,11 +79,7 @@ const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/
89
79
  /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, {}), children: [
90
80
  editable && /* @__PURE__ */ jsx(MediaLibrary, { appCode, visibility, multiple: !0, ref: mediaLibraryModalRef, ...mediaLibraryModalHandlers }),
91
81
  editable && mathsModalHandlers.isOpen && /* @__PURE__ */ jsx(MathsModal, { ...mathsModalHandlers }),
92
- editable && (imageModal == null ? void 0 : imageModal.isOpen) && (imageModal == null ? void 0 : imageModal.currentImage) && /* @__PURE__ */ jsx(ImageEditor, { altText: imageModal == null ? void 0 : imageModal.currentImage.alt, legend: imageModal == null ? void 0 : imageModal.currentImage.title, image: imageModal == null ? void 0 : imageModal.currentImage.src, isOpen: imageModal.isOpen, onCancel: imageModal.handleCancel, onSave: imageModal.handleSave, onError: console.error }),
93
- editable && cantooAdaptTextBox.openPosition.bottom && /* @__PURE__ */ jsx("div", { style: {
94
- flex: 1,
95
- marginTop: "16px"
96
- }, children: /* @__PURE__ */ jsx(CantooAdaptTextBoxView, {}) })
82
+ editable && (imageModal == null ? void 0 : imageModal.isOpen) && (imageModal == null ? void 0 : imageModal.currentImage) && /* @__PURE__ */ jsx(ImageEditor, { altText: imageModal == null ? void 0 : imageModal.currentImage.alt, legend: imageModal == null ? void 0 : imageModal.currentImage.title, image: imageModal == null ? void 0 : imageModal.currentImage.src, isOpen: imageModal.isOpen, onCancel: imageModal.handleCancel, onSave: imageModal.handleSave, onError: console.error })
97
83
  ] })
98
84
  ] });
99
85
  });
@@ -1,13 +1,10 @@
1
1
  import { RefObject } from 'react';
2
2
  import { MediaLibraryRef } from '../../../multimedia';
3
- import { CantooAdaptTextBox } from '../../hooks/useCantooAdaptTextBox.ts';
4
3
  interface Props {
5
4
  /** Ref to a MediaLibrary instance */
6
5
  mediaLibraryRef: RefObject<MediaLibraryRef>;
7
6
  /** API to open/close a Math modal. */
8
7
  toggleMathsModal: () => void;
9
- /** API to open/close a Cantoo modal. */
10
- cantooAdaptTextBoxRef: CantooAdaptTextBox;
11
8
  }
12
- export declare const EditorToolbar: ({ mediaLibraryRef, toggleMathsModal, cantooAdaptTextBoxRef, }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const EditorToolbar: ({ mediaLibraryRef, toggleMathsModal }: Props) => import("react/jsx-runtime").JSX.Element;
13
10
  export {};
@@ -27,25 +27,20 @@ import { EditorToolbarPlusMenu } from "./EditorToolbar.PlusMenu.js";
27
27
  import { EditorToolbarTextColor } from "./EditorToolbar.TextColor.js";
28
28
  import { EditorToolbarTextSize } from "./EditorToolbar.TextSize.js";
29
29
  import { EditorToolbarTypography } from "./EditorToolbar.Typography.js";
30
- import { EditorToolbarCantoo } from "./EditorToolbar.Cantoo.js";
31
- import { useCantooEditor } from "../../hooks/useCantooEditor.js";
30
+ import { useEditorContext } from "../../hooks/useEditorContext.js";
32
31
  import { useActionOptions } from "../../hooks/useActionOptions.js";
33
32
  import { useSpeechRecognition } from "../../hooks/useSpeechRecognition.js";
34
- import { useEditorContext } from "../../hooks/useEditorContext.js";
35
33
  import { Toolbar } from "../../../../components/Toolbar/Toolbar.js";
36
34
  const EditorToolbar = ({
37
35
  mediaLibraryRef,
38
- toggleMathsModal,
39
- cantooAdaptTextBoxRef
36
+ toggleMathsModal
40
37
  }) => {
41
38
  const {
42
39
  t
43
40
  } = useTranslation(), {
44
41
  id,
45
42
  editor
46
- } = useEditorContext(), {
47
- isAvailable: canUseCantoo
48
- } = useCantooEditor(editor), [plusOptions, listOptions, alignmentOptions] = useActionOptions(editor, toggleMathsModal, mediaLibraryRef), {
43
+ } = useEditorContext(), [plusOptions, listOptions, alignmentOptions] = useActionOptions(editor, toggleMathsModal, mediaLibraryRef), {
49
44
  isAvailable: canRecognizeSpeech,
50
45
  isActive: speechRecognition,
51
46
  toggle: toggleSpeechRecognition
@@ -172,21 +167,11 @@ const EditorToolbar = ({
172
167
  name: "speechtotext",
173
168
  tooltip: t("tiptap.toolbar.stt")
174
169
  },
175
- //------------- CANTOO ---------------//
176
- {
177
- type: "dropdown",
178
- props: {
179
- children: (triggerProps) => /* @__PURE__ */ jsx(EditorToolbarCantoo, { triggerProps, handleOpenCantooAdaptTextBox: cantooAdaptTextBoxRef.handleCantooAdaptTextPosition, cantooAdaptTextBoxOpenPosition: cantooAdaptTextBoxRef.openPosition })
180
- },
181
- name: "cantoo",
182
- visibility: canUseCantoo ? "show" : "hide",
183
- tooltip: t("tiptap.toolbar.cantoo.choice")
184
- },
185
170
  //------------------------------------//
186
171
  {
187
172
  type: "divider",
188
173
  name: "div-speech",
189
- visibility: canRecognizeSpeech || canUseCantoo ? "show" : "hide"
174
+ visibility: canRecognizeSpeech ? "show" : "hide"
190
175
  },
191
176
  //--------------- TYPOGRAPHY ---------------//
192
177
  {
@@ -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,5 +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';
@@ -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,6 @@
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
6
  export { default as InformationPaneRenderer } from './InformationPaneRenderer';
@@ -10,5 +10,3 @@ export * from './useResizeMedia';
10
10
  export * from './useSpeechRecognition';
11
11
  export * from './useSpeechSynthetisis';
12
12
  export * from './useTipTapEditor';
13
- export * from './useCantooEditor';
14
- export * from './useCantooAdaptTextBox';
@@ -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
  };
@@ -38,7 +38,7 @@ import AudioRenderer from "../components/Renderer/AudioRenderer.js";
38
38
  import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
39
39
  import AttachmentRenderer from "../components/Renderer/AttachmentRenderer.js";
40
40
  import InformationPaneRenderer from "../components/Renderer/InformationPaneRenderer.js";
41
- const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected") => {
41
+ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected", extensions) => {
42
42
  const {
43
43
  currentLanguage
44
44
  } = useEdificeClient(), {
@@ -65,7 +65,7 @@ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange,
65
65
  levels: [1, 2]
66
66
  }), Typography, FontSize, SpeechRecognition, SpeechSynthesis.configure({
67
67
  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)],
68
+ }), Iframe, Hyperlink, FontFamily, Mathematics, Alert, VideoNodeView(MediaRenderer), AudioNodeView(AudioRenderer), LinkerNodeView(LinkerRenderer), ImageNodeView(MediaRenderer, uploadFile), AttachmentNodeView(AttachmentRenderer), InformationPaneNodeView(InformationPaneRenderer), ...extensions || []],
69
69
  content,
70
70
  // If the onContentChange callback is provided, we call it on every content change.
71
71
  ...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
+ };
@@ -3,5 +3,5 @@ interface SVGRProps {
3
3
  title?: string;
4
4
  titleId?: string;
5
5
  }
6
- declare const SvgIconCantoo: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
- export default SvgIconCantoo;
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;
@@ -0,0 +1,13 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconMailRecall = ({
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-mail-recall_svg__a)", children: /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M2.253 6.532A1.34 1.34 0 0 1 3.333 6H6.5a1 1 0 0 0 0-2H3.333C1.512 4 0 5.452 0 7.286v11.428C0 20.548 1.512 22 3.333 22h16.334C21.488 22 23 20.548 23 18.714a1 1 0 1 0-2 0c0 .691-.577 1.286-1.333 1.286H3.333C2.577 20 2 19.405 2 18.714V8.666l8.442 5.066a3 3 0 0 0 3.118-.02l1.965-1.21a1 1 0 1 0-1.05-1.703l-1.964 1.211a1 1 0 0 1-1.04.007L2.515 6.643a1 1 0 0 0-.262-.11M15.8 8.6a1 1 0 0 0-.2-1.4L14 6h4a4 4 0 0 1 4 4v.2a3.8 3.8 0 0 1-3.8 3.8 1 1 0 1 0 0 2 5.8 5.8 0 0 0 5.8-5.8V10a6 6 0 0 0-6-6h-4l1.6-1.2a1 1 0 1 0-1.2-1.6l-3.99 2.993a1 1 0 0 0 0 1.614L14.4 8.8a1 1 0 0 0 1.4-.2", clipRule: "evenodd" }) }),
9
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-mail-recall_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
10
+ ] });
11
+ export {
12
+ SvgIconMailRecall 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 SvgIconQuestionMark: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconQuestionMark;