@edifice.io/react 2.3.2-develop-integration.20251006162204 → 2.3.2-develop-pedago.20251006170018

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.
@@ -70,7 +70,8 @@ const Header = ({
70
70
  conversationWorflow,
71
71
  searchWorkflow,
72
72
  isCollapsed,
73
- toggleCollapsedNav
73
+ toggleCollapsedNav,
74
+ handleLogout
74
75
  } = useHeader({
75
76
  user,
76
77
  avatar
@@ -103,7 +104,7 @@ const Header = ({
103
104
  ] }),
104
105
  /* @__PURE__ */ jsx(Help, { isHelpOpen, setIsHelpOpen, parsedContent, parsedHeadline, error })
105
106
  ] }) : null,
106
- /* @__PURE__ */ jsx(NavItem, { children: /* @__PURE__ */ jsxs("a", { href: "/auth/logout?callback=" + ((theme == null ? void 0 : theme.logoutCallback) ?? "/"), className: "nav-link", children: [
107
+ /* @__PURE__ */ jsx(NavItem, { children: /* @__PURE__ */ jsxs("button", { className: "nav-link", onClick: handleLogout, children: [
107
108
  /* @__PURE__ */ jsx(SvgIconDisconnect, { className: "icon logout" }),
108
109
  /* @__PURE__ */ jsx(VisuallyHidden, { children: t("navbar.disconnect") })
109
110
  ] }) }),
@@ -14,7 +14,7 @@ const WidgetAppsFooter = () => {
14
14
  } = useTranslation();
15
15
  return /* @__PURE__ */ jsxs("div", { className: "widget-body d-flex flex-wrap", children: [
16
16
  !bookmarkedApps.length && /* @__PURE__ */ jsx("div", { className: "text-dark", children: t("navbar.myapps.more") }),
17
- bookmarkedApps.slice(0, 6).map((app, index) => /* @__PURE__ */ jsx("a", { href: app.address, className: "bookmarked-app", target: app.isExternal || app.category === "connector" ? "_blank" : void 0, children: /* @__PURE__ */ jsx(AppIcon, { app, size: "32" }) }, index))
17
+ bookmarkedApps.slice(0, 6).map((app, index) => /* @__PURE__ */ jsx("a", { href: app.address, className: "bookmarked-app", children: /* @__PURE__ */ jsx(AppIcon, { app, size: "32" }) }, index))
18
18
  ] });
19
19
  };
20
20
  export {
@@ -1,7 +1,9 @@
1
1
  import { useState, useId, useCallback, useMemo } from "react";
2
+ import { odeServices } from "@edifice.io/client";
2
3
  import { useHover } from "@uidotdev/usehooks";
3
4
  import { useTranslation } from "react-i18next";
4
5
  import { useEdificeClient } from "../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
6
+ import { useEdificeTheme } from "../../../providers/EdificeThemeProvider/EdificeThemeProvider.hook.js";
5
7
  import useBookmark from "../../../hooks/useBookmark/useBookmark.js";
6
8
  import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
7
9
  function useHeader({
@@ -12,11 +14,15 @@ function useHeader({
12
14
  appCode
13
15
  } = useEdificeClient(), {
14
16
  t
15
- } = useTranslation(), title = t(appCode), [isCollapsed, setIsCollapsed] = useState(!0), [appsRef, isAppsHovered] = useHover(), popoverAppsId = useId(), popoverSearchId = useId(), userAvatar = avatar, userName = user == null ? void 0 : user.username, welcomeUser = t("welcome", {
17
+ } = useTranslation(), {
18
+ theme
19
+ } = useEdificeTheme(), title = t(appCode), [isCollapsed, setIsCollapsed] = useState(!0), [appsRef, isAppsHovered] = useHover(), popoverAppsId = useId(), popoverSearchId = useId(), userAvatar = avatar, userName = user == null ? void 0 : user.username, welcomeUser = t("welcome", {
16
20
  username: user == null ? void 0 : user.firstName
17
21
  }), bookmarkedApps = useBookmark(), communityWorkflow = useHasWorkflow("net.atos.entng.community.controllers.CommunityController|view"), conversationWorflow = useHasWorkflow("org.entcore.conversation.controllers.ConversationController|view"), searchWorkflow = useHasWorkflow("fr.openent.searchengine.controllers.SearchEngineController|view"), toggleCollapsedNav = useCallback(() => {
18
22
  setIsCollapsed(!isCollapsed);
19
- }, [isCollapsed]);
23
+ }, [isCollapsed]), handleLogout = async () => {
24
+ await odeServices.session().logout(), window.location.href = (theme == null ? void 0 : theme.logoutCallback) ?? "/auth/login";
25
+ };
20
26
  return useMemo(() => ({
21
27
  title,
22
28
  bookmarkedApps,
@@ -31,8 +37,9 @@ function useHeader({
31
37
  conversationWorflow,
32
38
  searchWorkflow,
33
39
  isCollapsed,
34
- toggleCollapsedNav
35
- }), [appsRef, bookmarkedApps, communityWorkflow, conversationWorflow, isAppsHovered, isCollapsed, popoverAppsId, popoverSearchId, searchWorkflow, title, toggleCollapsedNav, userAvatar, userName, welcomeUser]);
40
+ toggleCollapsedNav,
41
+ handleLogout
42
+ }), [appsRef, bookmarkedApps, communityWorkflow, conversationWorflow, handleLogout, isAppsHovered, isCollapsed, popoverAppsId, popoverSearchId, searchWorkflow, title, toggleCollapsedNav, userAvatar, userName, welcomeUser]);
36
43
  }
37
44
  export {
38
45
  useHeader as default
@@ -16,8 +16,6 @@ export * from './useHover';
16
16
  export * from './useHttpErrorToast';
17
17
  export * from './useImage';
18
18
  export * from './useIsAdml';
19
- export * from './useIsAdmc';
20
- export * from './useIsAdmlcOrAdmc';
21
19
  export * from './useKeyPress';
22
20
  export * from './useLibraryUrl';
23
21
  export * from './useMediaLibrary';
package/dist/index.js CHANGED
@@ -63,44 +63,42 @@ import { default as default62 } from "./hooks/useHover/useHover.js";
63
63
  import { default as default63 } from "./hooks/useHttpErrorToast/useHttpErrorToast.js";
64
64
  import { default as default64 } from "./hooks/useImage/useImage.js";
65
65
  import { default as default65 } from "./hooks/useIsAdml/useIsAdml.js";
66
- import { default as default66 } from "./hooks/useIsAdmc/useIsAdmc.js";
67
- import { default as default67 } from "./hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js";
68
- import { default as default68 } from "./hooks/useKeyPress/useKeyPress.js";
69
- import { default as default69 } from "./hooks/useLibraryUrl/useLibraryUrl.js";
70
- import { default as default70 } from "./hooks/useMediaLibrary/useMediaLibrary.js";
71
- import { default as default71 } from "./hooks/useScrollToTop/useScrollToTop.js";
72
- import { default as default72 } from "./hooks/useTitle/useTitle.js";
73
- import { default as default73 } from "./hooks/useToast/useToast.js";
74
- import { default as default74 } from "./hooks/useToggle/useToggle.js";
75
- import { default as default75 } from "./hooks/useTrapFocus/useTrapFocus.js";
76
- import { default as default76 } from "./hooks/useTrashedResource/useTrashedResource.js";
77
- import { default as default77 } from "./hooks/useUpload/useUpload.js";
78
- import { default as default78 } from "./hooks/useUploadFiles/useUploadFiles.js";
79
- import { default as default79 } from "./hooks/useUser/useUser.js";
80
- import { default as default80 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
81
- import { default as default81 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
82
- import { WORKSPACE_SHARED_FOLDER_ID, WORKSPACE_USER_FOLDER_ID, default as default82 } from "./hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js";
83
- import { default as default83 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
84
- import { default as default84 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
85
- import { default as default85 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
86
- import { default as default86 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
87
- import { default as default87 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
88
- import { default as default88 } from "./modules/modals/PublishModal/PublishModal.js";
89
- import { default as default89 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
90
- import { default as default90 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
91
- import { default as default91 } from "./modules/modals/ShareModal/ShareModal.js";
92
- import { default as default92 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
93
- import { default as default93 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
94
- import { default as default94 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
95
- import { default as default95 } from "./modules/multimedia/Embed/Embed.js";
96
- import { default as default96 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
97
- import { default as default97 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
98
- import { default as default98 } from "./modules/multimedia/FileCard/FileCard.js";
99
- import { default as default99 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
100
- import { default as default100 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
101
- import { default as default101 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
102
- import { default as default102 } from "./modules/multimedia/Workspace/Workspace.js";
103
- import { default as default103 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
66
+ import { default as default66 } from "./hooks/useKeyPress/useKeyPress.js";
67
+ import { default as default67 } from "./hooks/useLibraryUrl/useLibraryUrl.js";
68
+ import { default as default68 } from "./hooks/useMediaLibrary/useMediaLibrary.js";
69
+ import { default as default69 } from "./hooks/useScrollToTop/useScrollToTop.js";
70
+ import { default as default70 } from "./hooks/useTitle/useTitle.js";
71
+ import { default as default71 } from "./hooks/useToast/useToast.js";
72
+ import { default as default72 } from "./hooks/useToggle/useToggle.js";
73
+ import { default as default73 } from "./hooks/useTrapFocus/useTrapFocus.js";
74
+ import { default as default74 } from "./hooks/useTrashedResource/useTrashedResource.js";
75
+ import { default as default75 } from "./hooks/useUpload/useUpload.js";
76
+ import { default as default76 } from "./hooks/useUploadFiles/useUploadFiles.js";
77
+ import { default as default77 } from "./hooks/useUser/useUser.js";
78
+ import { default as default78 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
79
+ import { default as default79 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
80
+ import { WORKSPACE_SHARED_FOLDER_ID, WORKSPACE_USER_FOLDER_ID, default as default80 } from "./hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js";
81
+ import { default as default81 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
82
+ import { default as default82 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
83
+ import { default as default83 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
84
+ import { default as default84 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
85
+ import { default as default85 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
86
+ import { default as default86 } from "./modules/modals/PublishModal/PublishModal.js";
87
+ import { default as default87 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
88
+ import { default as default88 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
89
+ import { default as default89 } from "./modules/modals/ShareModal/ShareModal.js";
90
+ import { default as default90 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
91
+ import { default as default91 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
92
+ import { default as default92 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
93
+ import { default as default93 } from "./modules/multimedia/Embed/Embed.js";
94
+ import { default as default94 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
95
+ import { default as default95 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
96
+ import { default as default96 } from "./modules/multimedia/FileCard/FileCard.js";
97
+ import { default as default97 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
98
+ import { default as default98 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
99
+ import { default as default99 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
100
+ import { default as default100 } from "./modules/multimedia/Workspace/Workspace.js";
101
+ import { default as default101 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
104
102
  import { AccessiblePalette, DefaultPalette } from "./components/ColorPicker/ColorPalette.js";
105
103
  import { DropzoneContext, useDropzoneContext } from "./components/Dropzone/DropzoneContext.js";
106
104
  import { Column, Grid } from "./components/Grid/Grid.js";
@@ -136,11 +134,11 @@ export {
136
134
  default4 as AppHeader,
137
135
  default5 as AppIcon,
138
136
  default6 as Attachment,
139
- default94 as AudioRecorder,
137
+ default92 as AudioRecorder,
140
138
  default7 as Avatar,
141
139
  default8 as AvatarGroup,
142
140
  default9 as Badge,
143
- default89 as BlogPublic,
141
+ default87 as BlogPublic,
144
142
  default10 as Breadcrumb,
145
143
  default11 as Button,
146
144
  default37 as ButtonSkeleton,
@@ -150,7 +148,7 @@ export {
150
148
  default17 as ColorPickerItem,
151
149
  Column,
152
150
  default18 as Combobox,
153
- default86 as ConfirmModal,
151
+ default84 as ConfirmModal,
154
152
  DefaultPalette,
155
153
  DndTree,
156
154
  default19 as Dropdown,
@@ -160,10 +158,10 @@ export {
160
158
  EdificeClientProvider,
161
159
  EdificeThemeContext,
162
160
  EdificeThemeProvider,
163
- default95 as Embed,
161
+ default93 as Embed,
164
162
  default21 as EmptyScreen,
165
163
  ExternalLinker,
166
- default98 as FileCard,
164
+ default96 as FileCard,
167
165
  default22 as Flex,
168
166
  default24 as FormControl,
169
167
  default23 as FormText,
@@ -171,8 +169,8 @@ export {
171
169
  default25 as Heading,
172
170
  default12 as IconButton,
173
171
  default26 as Image,
174
- default96 as ImageEditor,
175
- default97 as ImagePicker,
172
+ default94 as ImageEditor,
173
+ default95 as ImagePicker,
176
174
  default27 as Input,
177
175
  InternalLinker,
178
176
  default28 as Label,
@@ -181,24 +179,24 @@ export {
181
179
  default29 as Loading,
182
180
  default30 as LoadingScreen,
183
181
  default31 as Logo,
184
- default99 as MediaLibrary,
182
+ default97 as MediaLibrary,
185
183
  Menu,
186
184
  MockedProvider,
187
185
  default32 as Modal,
188
- default87 as OnboardingModal,
186
+ default85 as OnboardingModal,
189
187
  Popover,
190
188
  PopoverBody,
191
189
  PopoverFooter,
192
190
  PopoverHeader,
193
191
  default33 as PreventPropagation,
194
- default88 as PublishModal,
192
+ default86 as PublishModal,
195
193
  default34 as Radio,
196
194
  ResourceModal,
197
195
  default35 as SearchBar,
198
196
  default13 as SearchButton,
199
197
  default36 as Select,
200
- default92 as ShareBlog,
201
- default91 as ShareModal,
198
+ default90 as ShareBlog,
199
+ default89 as ShareModal,
202
200
  default45 as SortableTree,
203
201
  default39 as StackedGroup,
204
202
  default40 as Stepper,
@@ -213,13 +211,13 @@ export {
213
211
  TreeNode,
214
212
  TreeNodeFolderWrapper,
215
213
  default47 as TreeView,
216
- default100 as VideoEmbed,
217
- default101 as VideoRecorder,
214
+ default98 as VideoEmbed,
215
+ default99 as VideoRecorder,
218
216
  default48 as VisuallyHidden,
219
217
  WORKSPACE_SHARED_FOLDER_ID,
220
218
  WORKSPACE_USER_FOLDER_ID,
221
- default102 as Workspace,
222
- default103 as WorkspaceFolders,
219
+ default100 as Workspace,
220
+ default101 as WorkspaceFolders,
223
221
  addNode,
224
222
  arrayUnique,
225
223
  buildTree,
@@ -267,30 +265,28 @@ export {
267
265
  default62 as useHover,
268
266
  default63 as useHttpErrorToast,
269
267
  default64 as useImage,
270
- default66 as useIsAdmc,
271
268
  default65 as useIsAdml,
272
- default67 as useIsAdmlcOrAdmc,
273
- default68 as useKeyPress,
274
- default69 as useLibraryUrl,
275
- default70 as useMediaLibrary,
276
- default71 as useScrollToTop,
277
- default93 as useShareMutation,
278
- default72 as useTitle,
279
- default73 as useToast,
280
- default74 as useToggle,
281
- default75 as useTrapFocus,
282
- default76 as useTrashedResource,
269
+ default66 as useKeyPress,
270
+ default67 as useLibraryUrl,
271
+ default68 as useMediaLibrary,
272
+ default69 as useScrollToTop,
273
+ default91 as useShareMutation,
274
+ default70 as useTitle,
275
+ default71 as useToast,
276
+ default72 as useToggle,
277
+ default73 as useTrapFocus,
278
+ default74 as useTrashedResource,
283
279
  useTreeSortable,
284
280
  useTreeView,
285
- default90 as useUpdateMutation,
286
- default77 as useUpload,
287
- default78 as useUploadFiles,
288
- default79 as useUser,
289
- default80 as useWorkspaceFile,
290
- default81 as useWorkspaceFolders,
291
- default82 as useWorkspaceFoldersTree,
292
- default83 as useWorkspaceSearch,
293
- default84 as useXitiTrackPageLoad,
294
- default85 as useZendeskGuide,
281
+ default88 as useUpdateMutation,
282
+ default75 as useUpload,
283
+ default76 as useUploadFiles,
284
+ default77 as useUser,
285
+ default78 as useWorkspaceFile,
286
+ default79 as useWorkspaceFolders,
287
+ default80 as useWorkspaceFoldersTree,
288
+ default81 as useWorkspaceSearch,
289
+ default82 as useXitiTrackPageLoad,
290
+ default83 as useZendeskGuide,
295
291
  wrapTreeNode
296
292
  };
@@ -71,7 +71,7 @@ const DeleteModal = /* @__PURE__ */ lazy(() => import("./DeleteModal.js")), Comm
71
71
  ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
72
72
  /* @__PURE__ */ jsx("div", { className: "mt-8 mb-4", children: content }),
73
73
  type === "edit" && /* @__PURE__ */ jsxs("div", { className: "ms-n8", children: [
74
- !replyTo && options.allowReplies && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => handleReplyToComment(comment.id), children: t("comment.reply") }),
74
+ !replyTo && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => handleReplyToComment(comment.id), children: t("comment.reply") }),
75
75
  userId === authorId && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => {
76
76
  handleModifyComment(comment.id), setValue(content);
77
77
  }, children: t("comment.edit") }),
@@ -22,4 +22,3 @@ export declare const DEFAULT_MAX_REPLIES = 5;
22
22
  * Number of comments to add when adding more comment in the limited list
23
23
  */
24
24
  export declare const DEFAULT_ADD_REPLIES = 5;
25
- export declare const DEFAULT_ALLOW_REPLIES = true;
@@ -1,8 +1,7 @@
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, DEFAULT_ALLOW_REPLIES = !0;
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;
2
2
  export {
3
3
  DEFAULT_ADD_COMMENTS,
4
4
  DEFAULT_ADD_REPLIES,
5
- DEFAULT_ALLOW_REPLIES,
6
5
  DEFAULT_MAX_COMMENTS,
7
6
  DEFAULT_MAX_COMMENT_LENGTH,
8
7
  DEFAULT_MAX_REPLIES,
@@ -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_ALLOW_REPLIES, 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_ADD_REPLIES, 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";
@@ -20,7 +20,6 @@ const CommentProvider = ({
20
20
  additionalComments: DEFAULT_ADD_COMMENTS,
21
21
  maxReplies: DEFAULT_MAX_REPLIES,
22
22
  additionalReplies: DEFAULT_ADD_REPLIES,
23
- allowReplies: DEFAULT_ALLOW_REPLIES,
24
23
  ...commentOptions
25
24
  }, {
26
25
  type
@@ -104,10 +104,6 @@ export type CommentOptions = {
104
104
  * Number of replies to load additionally in the limited list
105
105
  */
106
106
  additionalReplies: number;
107
- /**
108
- * Allow replying to comments
109
- */
110
- allowReplies: boolean;
111
107
  };
112
108
  export interface UserProfileResult {
113
109
  /**
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from "react";
3
- import Mathematics from "@tiptap/extension-mathematics";
3
+ import Mathematics from "@tiptap-pro/extension-mathematics";
4
4
  import { useEditor, EditorContent } from "@tiptap/react";
5
5
  import StarterKit from "@tiptap/starter-kit";
6
6
  import { useTranslation } from "react-i18next";
@@ -7,7 +7,7 @@ import { Hyperlink } from "@edifice.io/tiptap-extensions/hyperlink";
7
7
  import { SpeechRecognition } from "@edifice.io/tiptap-extensions/speech-recognition";
8
8
  import { SpeechSynthesis } from "@edifice.io/tiptap-extensions/speech-synthesis";
9
9
  import { TableCell } from "@edifice.io/tiptap-extensions/table-cell";
10
- import { Mathematics } from "@tiptap/extension-mathematics";
10
+ import { Mathematics } from "@tiptap-pro/extension-mathematics";
11
11
  import Color from "@tiptap/extension-color";
12
12
  import Focus from "@tiptap/extension-focus";
13
13
  import FontFamily from "@tiptap/extension-font-family";
@@ -66,7 +66,7 @@ const OnboardingModal = /* @__PURE__ */ forwardRef(({
66
66
  isOnboarding ? handleCloseWithPreference() : handleCloseWithoutPreference();
67
67
  }, children: t(closeText || "explorer.modal.onboarding.trash.close") })
68
68
  ] })
69
- ] }), document.getElementById("portal") || document.body);
69
+ ] }), document.getElementById("portal"));
70
70
  });
71
71
  export {
72
72
  OnboardingModal as default
@@ -6,7 +6,6 @@ export interface FormInputs {
6
6
  description: string;
7
7
  enablePublic: boolean;
8
8
  formSlug: string;
9
- allowReplies: boolean;
10
9
  }
11
10
  /**
12
11
  * Custom translations interface for overriding default translations
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { useId } from "react";
3
3
  import { odeServices } from "@edifice.io/client";
4
4
  import { createPortal } from "react-dom";
5
- import { useForm, Controller } from "react-hook-form";
5
+ import { useForm } from "react-hook-form";
6
6
  import { useTranslation } from "react-i18next";
7
7
  import { TextareaCounter } from "../../../components/TextArea/TextareaCounter.js";
8
8
  import ImagePicker from "../../multimedia/ImagePicker/ImagePicker.js";
@@ -18,7 +18,6 @@ import FormControl from "../../../components/Form/FormControl.js";
18
18
  import Label from "../../../components/Label/Label.js";
19
19
  import Input from "../../../components/Input/Input.js";
20
20
  import TextArea from "../../../components/TextArea/TextArea.js";
21
- import Checkbox from "../../../components/Checkbox/Checkbox.js";
22
21
  import Button from "../../../components/Button/Button.js";
23
22
  import MediaLibrary from "../../multimedia/MediaLibrary/MediaLibrary.js";
24
23
  const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, ResourceModal = ({
@@ -45,7 +44,6 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
45
44
  register,
46
45
  handleSubmit,
47
46
  setValue,
48
- control,
49
47
  formState: {
50
48
  isSubmitting,
51
49
  isValid
@@ -56,8 +54,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
56
54
  description: isUpdating ? resource == null ? void 0 : resource.description : "",
57
55
  enablePublic: isUpdating ? resource == null ? void 0 : resource.public : !1,
58
56
  title: isUpdating ? resource == null ? void 0 : resource.name : "",
59
- formSlug: isUpdating ? resource == null ? void 0 : resource.slug : "",
60
- allowReplies: isUpdating ? resource == null ? void 0 : resource.allowReplies : !0
57
+ formSlug: isUpdating ? resource == null ? void 0 : resource.slug : ""
61
58
  }
62
59
  }), {
63
60
  ref: mediaLibraryRef,
@@ -78,8 +75,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
78
75
  name: formData.title,
79
76
  public: formData.enablePublic,
80
77
  slug: formData.enablePublic && formData.formSlug || "",
81
- thumbnail,
82
- allowReplies: formData.allowReplies
78
+ thumbnail
83
79
  };
84
80
  let result, param;
85
81
  if (isCreating) {
@@ -145,10 +141,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
145
141
  maxLength: textareaMaxLength
146
142
  }), placeholder: ((_f = customT.placeholder) == null ? void 0 : _f.description) ?? t("explorer.resource.editModal.description.placeholder"), size: "md", maxLength: textareaMaxLength }),
147
143
  watchedDescription && /* @__PURE__ */ jsx(TextareaCounter, { content: watchedDescription, maxLength: textareaMaxLength })
148
- ] }),
149
- application === "blog" && /* @__PURE__ */ jsx(FormControl, { id: "allowReplies", className: "mt-16", children: /* @__PURE__ */ jsx(Controller, { name: "allowReplies", control, render: ({
150
- field
151
- }) => /* @__PURE__ */ jsx(Checkbox, { label: "Autoriser les réponses aux commentaires", checked: field.value, onChange: field.onChange }) }) })
144
+ ] })
152
145
  ] })
153
146
  ] }),
154
147
  typeof children == "function" ? children(resource, isUpdating, watch, setValue, register) : children
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.3.2-develop-integration.20251006162204",
3
+ "version": "2.3.2-develop-pedago.20251006170018",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -90,7 +90,6 @@
90
90
  "@tiptap/extension-image": "2.11.0",
91
91
  "@tiptap/extension-link": "2.11.0",
92
92
  "@tiptap/extension-list-item": "2.11.0",
93
- "@tiptap/extension-mathematics": "2.22.0",
94
93
  "@tiptap/extension-placeholder": "2.11.0",
95
94
  "@tiptap/extension-subscript": "2.11.0",
96
95
  "@tiptap/extension-superscript": "2.11.0",
@@ -131,9 +130,9 @@
131
130
  "react-slugify": "^3.0.3",
132
131
  "swiper": "^10.1.0",
133
132
  "ua-parser-js": "^1.0.36",
134
- "@edifice.io/bootstrap": "2.3.2-develop-integration.20251006162204",
135
- "@edifice.io/tiptap-extensions": "2.3.2-develop-integration.20251006162204",
136
- "@edifice.io/utilities": "2.3.2-develop-integration.20251006162204"
133
+ "@edifice.io/bootstrap": "2.3.2-develop-pedago.20251006170018",
134
+ "@edifice.io/tiptap-extensions": "2.3.2-develop-pedago.20251006170018",
135
+ "@edifice.io/utilities": "2.3.2-develop-pedago.20251006170018"
137
136
  },
138
137
  "devDependencies": {
139
138
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
@@ -164,8 +163,8 @@
164
163
  "vite": "^5.4.11",
165
164
  "vite-plugin-dts": "^4.1.0",
166
165
  "vite-tsconfig-paths": "^5.0.1",
167
- "@edifice.io/client": "2.3.2-develop-integration.20251006162204",
168
- "@edifice.io/config": "2.3.2-develop-integration.20251006162204"
166
+ "@edifice.io/client": "2.3.2-develop-pedago.20251006170018",
167
+ "@edifice.io/config": "2.3.2-develop-pedago.20251006170018"
169
168
  },
170
169
  "peerDependencies": {
171
170
  "@react-spring/web": "^9.7.5",
@@ -175,6 +174,9 @@
175
174
  "react-hook-form": "^7.53.0",
176
175
  "react-i18next": "^14.1.0"
177
176
  },
177
+ "optionalDependencies": {
178
+ "@tiptap-pro/extension-mathematics": "2.2.1"
179
+ },
178
180
  "publishConfig": {
179
181
  "access": "public"
180
182
  },
@@ -1 +0,0 @@
1
- export { default as useIsAdmc } from './useIsAdmc';
@@ -1,3 +0,0 @@
1
- export default function useIsAdmc(): {
2
- isAdmc: boolean;
3
- };
@@ -1,22 +0,0 @@
1
- import { useState, useEffect, useCallback } from "react";
2
- import { odeServices } from "@edifice.io/client";
3
- function useIsAdmc() {
4
- const [isAdmc, setIsAdmc] = useState(!1);
5
- useEffect(() => {
6
- initIsAdmc();
7
- }, []);
8
- const initIsAdmc = useCallback(async () => {
9
- try {
10
- const user = await odeServices.session().getUser(), hasSuperAdmin = !!(user != null && user.functions && user.functions.SUPER_ADMIN);
11
- setIsAdmc(!!hasSuperAdmin);
12
- } catch {
13
- setIsAdmc(!1);
14
- }
15
- }, []);
16
- return {
17
- isAdmc
18
- };
19
- }
20
- export {
21
- useIsAdmc as default
22
- };
@@ -1 +0,0 @@
1
- export { default as useIsAdmlcOrAdmc } from './useIsAdmlcOrAdmc';
@@ -1,3 +0,0 @@
1
- export default function useIsAdmlcOrAdmc(): {
2
- isAdmlcOrAdmc: boolean;
3
- };
@@ -1,16 +0,0 @@
1
- import { useMemo } from "react";
2
- import useIsAdml from "../useIsAdml/useIsAdml.js";
3
- import useIsAdmc from "../useIsAdmc/useIsAdmc.js";
4
- function useIsAdmlcOrAdmc() {
5
- const {
6
- isAdml
7
- } = useIsAdml(), {
8
- isAdmc
9
- } = useIsAdmc();
10
- return {
11
- isAdmlcOrAdmc: useMemo(() => !!(isAdml || isAdmc), [isAdml, isAdmc])
12
- };
13
- }
14
- export {
15
- useIsAdmlcOrAdmc as default
16
- };