@edifice.io/react 2.5.2-develop-b2school-actualites.20251204091630 → 2.5.2-develop-integration.20251204110744

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 (62) hide show
  1. package/dist/components/AppIcon/index.d.ts +0 -1
  2. package/dist/components/Flex/Flex.js +1 -1
  3. package/dist/components/Menu/components/MenuButton.d.ts +0 -2
  4. package/dist/components/Menu/components/MenuButton.js +4 -13
  5. package/dist/components/Select/Select.d.ts +2 -6
  6. package/dist/components/Select/Select.js +4 -10
  7. package/dist/components/index.d.ts +0 -2
  8. package/dist/editor.js +36 -40
  9. package/dist/hooks/index.d.ts +0 -1
  10. package/dist/icons-apps.js +234 -232
  11. package/dist/icons.js +262 -262
  12. package/dist/index.js +74 -84
  13. package/dist/modals.js +6 -8
  14. package/dist/modules/comments/components/Comment.js +3 -5
  15. package/dist/modules/comments/components/CommentList.js +1 -1
  16. package/dist/modules/comments/components/DeleteModal.js +8 -14
  17. package/dist/modules/comments/constants.d.ts +1 -4
  18. package/dist/modules/comments/constants.js +2 -2
  19. package/dist/modules/comments/provider/CommentProvider.js +2 -2
  20. package/dist/modules/comments/types.d.ts +2 -2
  21. package/dist/modules/editor/components/Editor/index.d.ts +0 -2
  22. package/dist/modules/icons/components/IconUndoSlashed.d.ts +7 -0
  23. package/dist/modules/icons/components/IconUndoSlashed.js +12 -0
  24. package/dist/modules/icons/components/apps/IconAssistancetic.d.ts +7 -0
  25. package/dist/modules/icons/components/apps/IconAssistancetic.js +14 -0
  26. package/dist/modules/icons/components/apps/index.d.ts +1 -0
  27. package/dist/modules/icons/components/index.d.ts +1 -1
  28. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -0
  29. package/dist/modules/modals/ResourceModal/ResourceModal.js +10 -3
  30. package/dist/modules/modals/ShareModal/ShareBookmark.d.ts +1 -1
  31. package/dist/modules/modals/ShareModal/ShareBookmark.js +2 -5
  32. package/dist/modules/modals/ShareModal/ShareModal.d.ts +11 -1
  33. package/dist/modules/modals/ShareModal/ShareModal.js +105 -13
  34. package/dist/modules/modals/ShareModal/hooks/useSearch.d.ts +1 -2
  35. package/dist/modules/modals/ShareModal/hooks/useSearch.js +2 -3
  36. package/dist/modules/modals/ShareModal/hooks/useShare.d.ts +5 -12
  37. package/dist/modules/modals/ShareModal/hooks/useShare.js +13 -20
  38. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.d.ts +1 -1
  39. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +1 -1
  40. package/dist/modules/modals/ShareModal/index.d.ts +1 -3
  41. package/dist/utilities/index.d.ts +0 -1
  42. package/package.json +6 -6
  43. package/dist/components/Divider/Divider.d.ts +0 -5
  44. package/dist/components/Divider/Divider.js +0 -21
  45. package/dist/components/Divider/index.d.ts +0 -1
  46. package/dist/components/SeparatedInfo/SeparatedInfo.d.ts +0 -6
  47. package/dist/components/SeparatedInfo/SeparatedInfo.js +0 -13
  48. package/dist/components/SeparatedInfo/index.d.ts +0 -1
  49. package/dist/hooks/useInfiniteScroll/index.d.ts +0 -1
  50. package/dist/hooks/useInfiniteScroll/useInfiniteScroll.d.ts +0 -33
  51. package/dist/hooks/useInfiniteScroll/useInfiniteScroll.js +0 -20
  52. package/dist/modules/editor/components/Editor/EditorPreview.d.ts +0 -14
  53. package/dist/modules/editor/components/Editor/EditorPreview.js +0 -56
  54. package/dist/modules/editor/components/Editor/EditorPreviewSkeleton.d.ts +0 -8
  55. package/dist/modules/editor/components/Editor/EditorPreviewSkeleton.js +0 -24
  56. package/dist/modules/icons/components/IconClockAlert.d.ts +0 -7
  57. package/dist/modules/icons/components/IconClockAlert.js +0 -17
  58. package/dist/modules/modals/ShareModal/ShareResources.d.ts +0 -173
  59. package/dist/modules/modals/ShareModal/ShareResources.js +0 -137
  60. package/dist/utilities/react-query/index.d.ts +0 -1
  61. package/dist/utilities/react-query/react-query-utils.d.ts +0 -21
  62. package/dist/utilities/react-query/react-query-utils.js +0 -13
package/dist/index.js CHANGED
@@ -63,56 +63,52 @@ import { default as default62 } from "./hooks/useHasWorkflow/useHasWorkflow.js";
63
63
  import { default as default63 } from "./hooks/useHover/useHover.js";
64
64
  import { useHttpErrorToast } from "./hooks/useHttpErrorToast/useHttpErrorToast.js";
65
65
  import { default as default64 } from "./hooks/useImage/useImage.js";
66
- import { default as default65 } from "./hooks/useInfiniteScroll/useInfiniteScroll.js";
67
- import { default as default66 } from "./hooks/useIsAdml/useIsAdml.js";
68
- import { default as default67 } from "./hooks/useIsAdmc/useIsAdmc.js";
69
- import { default as default68 } from "./hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js";
70
- import { default as default69 } from "./hooks/useKeyPress/useKeyPress.js";
71
- import { default as default70 } from "./hooks/useLibraryUrl/useLibraryUrl.js";
72
- import { default as default71 } from "./hooks/useMediaLibrary/useMediaLibrary.js";
73
- import { default as default72 } from "./hooks/useScrollToTop/useScrollToTop.js";
74
- import { default as default73 } from "./hooks/useTitle/useTitle.js";
75
- import { default as default74 } from "./hooks/useToast/useToast.js";
76
- import { default as default75 } from "./hooks/useToggle/useToggle.js";
77
- import { default as default76 } from "./hooks/useTrapFocus/useTrapFocus.js";
78
- import { default as default77 } from "./hooks/useTrashedResource/useTrashedResource.js";
79
- import { default as default78 } from "./hooks/useUpload/useUpload.js";
80
- import { default as default79 } from "./hooks/useUploadFiles/useUploadFiles.js";
81
- import { default as default80 } from "./hooks/useUser/useUser.js";
82
- import { default as default81 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
83
- import { default as default82 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
84
- import { WORKSPACE_SHARED_FOLDER_ID, WORKSPACE_USER_FOLDER_ID, default as default83 } from "./hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js";
85
- import { default as default84 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
86
- import { default as default85 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
87
- import { default as default86 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
88
- import { default as default87 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
89
- import { default as default88 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
90
- import { default as default89 } from "./modules/modals/PublishModal/PublishModal.js";
91
- import { default as default90 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
92
- import { default as default91 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
66
+ import { default as default65 } from "./hooks/useIsAdml/useIsAdml.js";
67
+ import { default as default66 } from "./hooks/useIsAdmc/useIsAdmc.js";
68
+ import { default as default67 } from "./hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js";
69
+ import { default as default68 } from "./hooks/useKeyPress/useKeyPress.js";
70
+ import { default as default69 } from "./hooks/useLibraryUrl/useLibraryUrl.js";
71
+ import { default as default70 } from "./hooks/useMediaLibrary/useMediaLibrary.js";
72
+ import { default as default71 } from "./hooks/useScrollToTop/useScrollToTop.js";
73
+ import { default as default72 } from "./hooks/useTitle/useTitle.js";
74
+ import { default as default73 } from "./hooks/useToast/useToast.js";
75
+ import { default as default74 } from "./hooks/useToggle/useToggle.js";
76
+ import { default as default75 } from "./hooks/useTrapFocus/useTrapFocus.js";
77
+ import { default as default76 } from "./hooks/useTrashedResource/useTrashedResource.js";
78
+ import { default as default77 } from "./hooks/useUpload/useUpload.js";
79
+ import { default as default78 } from "./hooks/useUploadFiles/useUploadFiles.js";
80
+ import { default as default79 } from "./hooks/useUser/useUser.js";
81
+ import { default as default80 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
82
+ import { default as default81 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
83
+ import { WORKSPACE_SHARED_FOLDER_ID, WORKSPACE_USER_FOLDER_ID, default as default82 } from "./hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js";
84
+ import { default as default83 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
85
+ import { default as default84 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
86
+ import { default as default85 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
87
+ import { default as default86 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
88
+ import { default as default87 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
89
+ import { default as default88 } from "./modules/modals/PublishModal/PublishModal.js";
90
+ import { default as default89 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
91
+ import { default as default90 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
92
+ import { default as default91 } from "./modules/modals/ShareModal/ShareModal.js";
93
93
  import { default as default92 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
94
94
  import { default as default93 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
95
- import { default as default94 } from "./modules/modals/ShareModal/ShareModal.js";
96
- import { default as default95 } from "./modules/modals/ShareModal/ShareResources.js";
97
- import { default as default96 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
98
- import { default as default97 } from "./modules/multimedia/Embed/Embed.js";
99
- import { default as default98 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
100
- import { default as default99 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
101
- import { default as default100 } from "./modules/multimedia/FileCard/FileCard.js";
102
- import { default as default101 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
103
- import { default as default102 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
104
- import { default as default103 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
105
- import { default as default104 } from "./modules/multimedia/Workspace/Workspace.js";
106
- import { default as default105 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
95
+ import { default as default94 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
96
+ import { default as default95 } from "./modules/multimedia/Embed/Embed.js";
97
+ import { default as default96 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
98
+ import { default as default97 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
99
+ import { default as default98 } from "./modules/multimedia/FileCard/FileCard.js";
100
+ import { default as default99 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
101
+ import { default as default100 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
102
+ import { default as default101 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
103
+ import { default as default102 } from "./modules/multimedia/Workspace/Workspace.js";
104
+ import { default as default103 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
107
105
  import { AccessiblePalette, DefaultPalette } from "./components/ColorPicker/ColorPalette.js";
108
- import { Divider } from "./components/Divider/Divider.js";
109
106
  import { DropzoneContext, useDropzoneContext } from "./components/Dropzone/DropzoneContext.js";
110
107
  import { Column, Grid } from "./components/Grid/Grid.js";
111
108
  import { Layout } from "./components/Layout/Layout.js";
112
109
  import { List } from "./components/List/List.js";
113
110
  import { Menu } from "./components/Menu/components/Menu.js";
114
111
  import { Popover, PopoverBody, PopoverFooter, PopoverHeader } from "./components/Popover/Popover.js";
115
- import { SeparatedInfo } from "./components/SeparatedInfo/SeparatedInfo.js";
116
112
  import { Tabs } from "./components/Tabs/components/Tabs.js";
117
113
  import { Toolbar } from "./components/Toolbar/Toolbar.js";
118
114
  import { useTreeSortable } from "./components/Tree/hooks/useTreeSortable.js";
@@ -134,7 +130,6 @@ import { useEdificeTheme } from "./providers/EdificeThemeProvider/EdificeThemePr
134
130
  import { MockedProvider } from "./providers/MockedProvider/MockedProvider.js";
135
131
  import { checkUserRight } from "./utilities/check-user-rights/check-user-rights.js";
136
132
  import { emptyScreenMapping } from "./utilities/emptyscreen-mapping/emptyscreen-mapping.js";
137
- import { invalidateQueriesWithFirstPage } from "./utilities/react-query/react-query-utils.js";
138
133
  import { mergeRefs, setRef } from "./utilities/refs/ref.js";
139
134
  export {
140
135
  AccessiblePalette,
@@ -144,11 +139,11 @@ export {
144
139
  default4 as AppHeader,
145
140
  default5 as AppIcon,
146
141
  default6 as Attachment,
147
- default96 as AudioRecorder,
142
+ default94 as AudioRecorder,
148
143
  default7 as Avatar,
149
144
  default8 as AvatarGroup,
150
145
  default9 as Badge,
151
- default90 as BlogPublic,
146
+ default89 as BlogPublic,
152
147
  default10 as Breadcrumb,
153
148
  default11 as Button,
154
149
  default38 as ButtonSkeleton,
@@ -158,9 +153,8 @@ export {
158
153
  default17 as ColorPickerItem,
159
154
  Column,
160
155
  default18 as Combobox,
161
- default87 as ConfirmModal,
156
+ default86 as ConfirmModal,
162
157
  DefaultPalette,
163
- Divider,
164
158
  DndTree,
165
159
  default19 as Dropdown,
166
160
  default20 as Dropzone,
@@ -169,10 +163,10 @@ export {
169
163
  EdificeClientProvider,
170
164
  EdificeThemeContext,
171
165
  EdificeThemeProvider,
172
- default97 as Embed,
166
+ default95 as Embed,
173
167
  default21 as EmptyScreen,
174
168
  ExternalLinker,
175
- default100 as FileCard,
169
+ default98 as FileCard,
176
170
  default22 as Flex,
177
171
  default24 as FormControl,
178
172
  default23 as FormText,
@@ -180,8 +174,8 @@ export {
180
174
  default25 as Heading,
181
175
  default12 as IconButton,
182
176
  default26 as Image,
183
- default98 as ImageEditor,
184
- default99 as ImagePicker,
177
+ default96 as ImageEditor,
178
+ default97 as ImagePicker,
185
179
  default27 as Input,
186
180
  InternalLinker,
187
181
  default28 as Label,
@@ -190,27 +184,25 @@ export {
190
184
  default29 as Loading,
191
185
  default30 as LoadingScreen,
192
186
  default31 as Logo,
193
- default101 as MediaLibrary,
187
+ default99 as MediaLibrary,
194
188
  Menu,
195
189
  MockedProvider,
196
190
  default32 as Modal,
197
- default88 as OnboardingModal,
191
+ default87 as OnboardingModal,
198
192
  Popover,
199
193
  PopoverBody,
200
194
  PopoverFooter,
201
195
  PopoverHeader,
202
196
  default33 as PreventPropagation,
203
- default89 as PublishModal,
197
+ default88 as PublishModal,
204
198
  default34 as Radio,
205
199
  default35 as RadioCard,
206
200
  ResourceModal,
207
201
  default36 as SearchBar,
208
202
  default13 as SearchButton,
209
203
  default37 as Select,
210
- SeparatedInfo,
211
204
  default92 as ShareBlog,
212
- default94 as ShareModal,
213
- default95 as ShareResources,
205
+ default91 as ShareModal,
214
206
  default46 as SortableTree,
215
207
  default40 as StackedGroup,
216
208
  default41 as Stepper,
@@ -225,13 +217,13 @@ export {
225
217
  TreeNode,
226
218
  TreeNodeFolderWrapper,
227
219
  default48 as TreeView,
228
- default102 as VideoEmbed,
229
- default103 as VideoRecorder,
220
+ default100 as VideoEmbed,
221
+ default101 as VideoRecorder,
230
222
  default49 as VisuallyHidden,
231
223
  WORKSPACE_SHARED_FOLDER_ID,
232
224
  WORKSPACE_USER_FOLDER_ID,
233
- default104 as Workspace,
234
- default105 as WorkspaceFolders,
225
+ default102 as Workspace,
226
+ default103 as WorkspaceFolders,
235
227
  addNode,
236
228
  arrayUnique,
237
229
  buildTree,
@@ -253,7 +245,6 @@ export {
253
245
  getIndicesToUpdate,
254
246
  getProjection,
255
247
  hasChildren,
256
- invalidateQueriesWithFirstPage,
257
248
  mergeRefs,
258
249
  modifyNode,
259
250
  moveNode,
@@ -280,31 +271,30 @@ export {
280
271
  default63 as useHover,
281
272
  useHttpErrorToast,
282
273
  default64 as useImage,
283
- default65 as useInfiniteScroll,
284
- default67 as useIsAdmc,
285
- default66 as useIsAdml,
286
- default68 as useIsAdmlcOrAdmc,
287
- default69 as useKeyPress,
288
- default70 as useLibraryUrl,
289
- default71 as useMediaLibrary,
290
- default72 as useScrollToTop,
274
+ default66 as useIsAdmc,
275
+ default65 as useIsAdml,
276
+ default67 as useIsAdmlcOrAdmc,
277
+ default68 as useKeyPress,
278
+ default69 as useLibraryUrl,
279
+ default70 as useMediaLibrary,
280
+ default71 as useScrollToTop,
291
281
  default93 as useShareMutation,
292
- default73 as useTitle,
293
- default74 as useToast,
294
- default75 as useToggle,
295
- default76 as useTrapFocus,
296
- default77 as useTrashedResource,
282
+ default72 as useTitle,
283
+ default73 as useToast,
284
+ default74 as useToggle,
285
+ default75 as useTrapFocus,
286
+ default76 as useTrashedResource,
297
287
  useTreeSortable,
298
288
  useTreeView,
299
- default91 as useUpdateMutation,
300
- default78 as useUpload,
301
- default79 as useUploadFiles,
302
- default80 as useUser,
303
- default81 as useWorkspaceFile,
304
- default82 as useWorkspaceFolders,
305
- default83 as useWorkspaceFoldersTree,
306
- default84 as useWorkspaceSearch,
307
- default85 as useXitiTrackPageLoad,
308
- default86 as useZendeskGuide,
289
+ default90 as useUpdateMutation,
290
+ default77 as useUpload,
291
+ default78 as useUploadFiles,
292
+ default79 as useUser,
293
+ default80 as useWorkspaceFile,
294
+ default81 as useWorkspaceFolders,
295
+ default82 as useWorkspaceFoldersTree,
296
+ default83 as useWorkspaceSearch,
297
+ default84 as useXitiTrackPageLoad,
298
+ default85 as useZendeskGuide,
309
299
  wrapTreeNode
310
300
  };
package/dist/modals.js CHANGED
@@ -3,10 +3,9 @@ import { default as default3 } from "./modules/modals/OnboardingModal/Onboarding
3
3
  import { default as default4 } from "./modules/modals/PublishModal/PublishModal.js";
4
4
  import { default as default5 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
5
5
  import { default as default6 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.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";
8
- import { default as default9 } from "./modules/modals/ShareModal/ShareModal.js";
9
- import { default as default10 } from "./modules/modals/ShareModal/ShareResources.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";
10
9
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
11
10
  export {
12
11
  default5 as BlogPublic,
@@ -14,9 +13,8 @@ export {
14
13
  default3 as OnboardingModal,
15
14
  default4 as PublishModal,
16
15
  ResourceModal,
17
- default7 as ShareBlog,
18
- default9 as ShareModal,
19
- default10 as ShareResources,
20
- default8 as useShareMutation,
16
+ default8 as ShareBlog,
17
+ default7 as ShareModal,
18
+ default9 as useShareMutation,
21
19
  default6 as useUpdateMutation
22
20
  };
@@ -8,9 +8,9 @@ import { BadgeProfile } from "./BadgeProfile.js";
8
8
  import { CommentAvatar } from "./CommentAvatar.js";
9
9
  import { CommentDate } from "./CommentDate.js";
10
10
  import { CommentTitle } from "./CommentTitle.js";
11
+ import { TextCounter } from "./TextCounter.js";
11
12
  import { CommentDeleted } from "./CommentDeleted.js";
12
13
  import { CommentReplies } from "./CommentReplies.js";
13
- import { TextCounter } from "./TextCounter.js";
14
14
  import Button from "../../../components/Button/Button.js";
15
15
  import LoadingScreen from "../../../components/LoadingScreen/LoadingScreen.js";
16
16
  const DeleteModal = /* @__PURE__ */ lazy(() => import("./DeleteModal.js")), Comment = ({
@@ -41,8 +41,6 @@ const DeleteModal = /* @__PURE__ */ lazy(() => import("./DeleteModal.js")), Comm
41
41
  handleReplyToComment
42
42
  } = useCommentsContext(), replies = (defaultComments == null ? void 0 : defaultComments.filter((comm) => comm.replyTo === comment.id)) ?? [], hasReplies = replies.length > 0, hasAllDeletedReplies = replies.every((reply) => reply.deleted), isEditing = editCommentId === comment.id, handleChangeContent = (event) => {
43
43
  resizeTextarea(), setValue(event.target.value);
44
- }, handleDeleteComment = (id2) => {
45
- onDeleteComment(id2), setIsDeleteModalOpen(!1);
46
44
  };
47
45
  return /* @__PURE__ */ jsxs(Fragment, { children: [
48
46
  comment.deleted && hasReplies && !hasAllDeletedReplies && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -75,7 +73,7 @@ const DeleteModal = /* @__PURE__ */ lazy(() => import("./DeleteModal.js")), Comm
75
73
  whiteSpace: "pre-line"
76
74
  }, children: content }),
77
75
  type === "edit" && /* @__PURE__ */ jsxs("div", { className: "ms-n8", children: [
78
- !(replyTo || options.disableReply) && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => handleReplyToComment(comment.id), children: t("comment.reply") }),
76
+ !replyTo && options.allowReplies && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => handleReplyToComment(comment.id), children: t("comment.reply") }),
79
77
  userId === authorId && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", size: "sm", onClick: () => {
80
78
  handleModifyComment(comment.id), setValue(content);
81
79
  }, children: t("comment.edit") }),
@@ -85,7 +83,7 @@ const DeleteModal = /* @__PURE__ */ lazy(() => import("./DeleteModal.js")), Comm
85
83
  ] })
86
84
  ] }, id),
87
85
  /* @__PURE__ */ jsx(CommentReplies, { parentComment: comment }),
88
- /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, { position: !1 }), children: isDeleteModalOpen && /* @__PURE__ */ jsx(DeleteModal, { isOpen: isDeleteModalOpen, onCancel: () => setIsDeleteModalOpen(!1), onSuccess: () => handleDeleteComment(id) }) })
86
+ /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, { position: !1 }), children: isDeleteModalOpen && /* @__PURE__ */ jsx(DeleteModal, { isOpen: isDeleteModalOpen, onCancel: () => setIsDeleteModalOpen(!1), onSuccess: () => onDeleteComment(id) }) })
89
87
  ] })
90
88
  ] });
91
89
  };
@@ -14,7 +14,7 @@ function CommentList() {
14
14
  const {
15
15
  authorId
16
16
  } = comment, profile = ((_a = profiles == null ? void 0 : profiles.find((user2) => (user2 == null ? void 0 : user2.userId) === authorId)) == null ? void 0 : _a.profile) ?? "Guest";
17
- return /* @__PURE__ */ jsx("div", { id: `comment-${comment.id}`, children: /* @__PURE__ */ jsx(Comment, { comment, profile, userId: user == null ? void 0 : user.userId }) }, comment.id);
17
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Comment, { comment, profile, userId: user == null ? void 0 : user.userId }) }, comment.id);
18
18
  });
19
19
  }
20
20
  export {
@@ -1,24 +1,18 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useTranslation } from "react-i18next";
3
2
  import Modal from "../../../components/Modal/Modal.js";
4
3
  import Button from "../../../components/Button/Button.js";
5
4
  const DeleteModal = ({
6
5
  isOpen,
7
6
  onCancel,
8
7
  onSuccess
9
- }) => {
10
- const {
11
- t
12
- } = useTranslation();
13
- return /* @__PURE__ */ jsxs(Modal, { size: "sm", isOpen, onModalClose: onCancel, id: "delete-comment-modal", children: [
14
- /* @__PURE__ */ jsx(Modal.Header, { onModalClose: onCancel, children: t("comment.delete.modal.title") }),
15
- /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx("p", { children: t("comment.delete.modal.body") }) }),
16
- /* @__PURE__ */ jsxs(Modal.Footer, { children: [
17
- /* @__PURE__ */ jsx(Button, { color: "tertiary", onClick: onCancel, type: "button", variant: "ghost", children: t("cancel") }),
18
- /* @__PURE__ */ jsx(Button, { color: "danger", onClick: onSuccess, type: "button", variant: "filled", children: t("comment.delete.modal.delete") })
19
- ] })
20
- ] });
21
- };
8
+ }) => /* @__PURE__ */ jsxs(Modal, { isOpen, onModalClose: onCancel, id: "delete-comment-modal", children: [
9
+ /* @__PURE__ */ jsx(Modal.Header, { onModalClose: onCancel, children: "Suppression de commentaire" }),
10
+ /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx("p", { children: "Voulez-vous vraiment supprimer ce commentaire ?" }) }),
11
+ /* @__PURE__ */ jsxs(Modal.Footer, { children: [
12
+ /* @__PURE__ */ jsx(Button, { color: "tertiary", onClick: onCancel, type: "button", variant: "ghost", children: "Annuler" }),
13
+ /* @__PURE__ */ jsx(Button, { color: "danger", onClick: onSuccess, type: "button", variant: "filled", children: "Supprimer le commentaire" })
14
+ ] })
15
+ ] });
22
16
  export {
23
17
  DeleteModal,
24
18
  DeleteModal as default
@@ -22,7 +22,4 @@ 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
- /**
26
- * Forbid replying to a comment. Defaults to false.
27
- */
28
- export declare const DEFAULT_DISABLE_REPLY = false;
25
+ export declare const DEFAULT_ALLOW_REPLIES = true;
@@ -1,8 +1,8 @@
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_DISABLE_REPLY = !1;
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;
2
2
  export {
3
3
  DEFAULT_ADD_COMMENTS,
4
4
  DEFAULT_ADD_REPLIES,
5
- DEFAULT_DISABLE_REPLY,
5
+ DEFAULT_ALLOW_REPLIES,
6
6
  DEFAULT_MAX_COMMENTS,
7
7
  DEFAULT_MAX_COMMENT_LENGTH,
8
8
  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_DISABLE_REPLY, 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_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";
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,7 @@ const CommentProvider = ({
20
20
  additionalComments: DEFAULT_ADD_COMMENTS,
21
21
  maxReplies: DEFAULT_MAX_REPLIES,
22
22
  additionalReplies: DEFAULT_ADD_REPLIES,
23
- disableReply: DEFAULT_DISABLE_REPLY,
23
+ allowReplies: DEFAULT_ALLOW_REPLIES,
24
24
  ...commentOptions
25
25
  }, {
26
26
  type
@@ -105,9 +105,9 @@ export type CommentOptions = {
105
105
  */
106
106
  additionalReplies: number;
107
107
  /**
108
- * Forbid replying to a comment. Defaults to false.
108
+ * Allow replying to comments
109
109
  */
110
- disableReply: boolean;
110
+ allowReplies: boolean;
111
111
  };
112
112
  export interface UserProfileResult {
113
113
  /**
@@ -1,5 +1,3 @@
1
1
  export * from './Editor';
2
2
  export { default as Editor } from './Editor';
3
- export { default as EditorPreview } from './EditorPreview';
4
- export { default as EditorPreviewSkeleton } from './EditorPreviewSkeleton';
5
3
  export { default as EditorSkeleton } from './EditorSkeleton';
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconUndoSlashed: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconUndoSlashed;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconUndoSlashed = ({
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", d: "M19.775 8.466A5 5 0 0 1 22 12.625V21a1 1 0 0 1-2 0v-8.375c0-1.186-.69-2.208-1.689-2.695zM7.918 2.293a1 1 0 1 1 1.414 1.414L5.414 7.625h6.719l-2 2H5.414l2.36 2.36-1.415 1.414-4.066-4.067a1 1 0 0 1 0-1.414zM20.293 2.293a1 1 0 1 1 1.414 1.414l-17 17a1 1 0 1 1-1.414-1.414z" })
9
+ ] });
10
+ export {
11
+ SvgIconUndoSlashed 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 SvgIconAssistancetic: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconAssistancetic;
@@ -0,0 +1,14 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconAssistancetic = ({
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 60 60", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "#ECBE30", d: "M0 8a8 8 0 0 1 8-8h44a8 8 0 0 1 8 8v44a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8z" }),
9
+ /* @__PURE__ */ jsx("path", { fill: "#fff", fillRule: "evenodd", d: "M30 22.667c1.013 0 1.833.82 1.833 1.833v9.167a1.833 1.833 0 0 1-3.666 0V24.5c0-1.012.82-1.833 1.833-1.833M28.167 40.083c0-1.012.82-1.833 1.833-1.833h.018a1.833 1.833 0 0 1 0 3.667H30a1.833 1.833 0 0 1-1.833-1.834", clipRule: "evenodd" }),
10
+ /* @__PURE__ */ jsx("path", { fill: "#fff", fillRule: "evenodd", d: "M26.787 11.87c1.393-2.532 5.033-2.532 6.426 0L50.279 42.9c1.344 2.443-.424 5.433-3.213 5.433H12.934c-2.789 0-4.557-2.99-3.213-5.433zm20.28 32.796L30 13.638l-17.066 31.03z", clipRule: "evenodd" })
11
+ ] });
12
+ export {
13
+ SvgIconAssistancetic as default
14
+ };
@@ -7,6 +7,7 @@ export { default as IconAgenda } from './IconAgenda';
7
7
  export { default as IconAppointments } from './IconAppointments';
8
8
  export { default as IconArchive } from './IconArchive';
9
9
  export { default as IconAssistance } from './IconAssistance';
10
+ export { default as IconAssistancetic } from './IconAssistancetic';
10
11
  export { default as IconAssr } from './IconAssr';
11
12
  export { default as IconAward } from './IconAward';
12
13
  export { default as IconBanquesavoir } from './IconBanquesavoir';
@@ -24,7 +24,6 @@ export { default as IconCantoo } from './IconCantoo';
24
24
  export { default as IconCenter } from './IconCenter';
25
25
  export { default as IconCheck } from './IconCheck';
26
26
  export { default as IconChecklist } from './IconChecklist';
27
- export { default as IconClockAlert } from './IconClockAlert';
28
27
  export { default as IconClock } from './IconClock';
29
28
  export { default as IconCloseFullScreen } from './IconCloseFullScreen';
30
29
  export { default as IconClose } from './IconClose';
@@ -155,6 +154,7 @@ export { default as IconToolCenter } from './IconToolCenter';
155
154
  export { default as IconTool } from './IconTool';
156
155
  export { default as IconTrendingUp } from './IconTrendingUp';
157
156
  export { default as IconUndoAll } from './IconUndoAll';
157
+ export { default as IconUndoSlashed } from './IconUndoSlashed';
158
158
  export { default as IconUndo } from './IconUndo';
159
159
  export { default as IconUnion } from './IconUnion';
160
160
  export { default as IconUnlink } from './IconUnlink';
@@ -6,6 +6,7 @@ export interface FormInputs {
6
6
  description: string;
7
7
  enablePublic: boolean;
8
8
  formSlug: string;
9
+ allowReplies: boolean;
9
10
  }
10
11
  /**
11
12
  * Custom translations interface for overriding default translations
@@ -7,6 +7,7 @@ import { useTranslation } from "react-i18next";
7
7
  import ImagePicker from "../../multimedia/ImagePicker/ImagePicker.js";
8
8
  import { useThumb } from "./hooks/useThumb.js";
9
9
  import { useEdificeClient } from "../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
10
+ import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
10
11
  import useToast from "../../../hooks/useToast/useToast.js";
11
12
  import useResource from "../../../hooks/useResource/useResource.js";
12
13
  import useMediaLibrary from "../../../hooks/useMediaLibrary/useMediaLibrary.js";
@@ -34,7 +35,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
34
35
  const {
35
36
  appCode: contextAppCode,
36
37
  currentApp
37
- } = useEdificeClient(), application = customAppCode || contextAppCode, {
38
+ } = useEdificeClient(), application = customAppCode || contextAppCode, hasOptionalCommentRepliesWorkflow = useHasWorkflow("org.entcore.blog.controllers.BlogController|optionalCommentReplies"), {
38
39
  t
39
40
  } = useTranslation(), {
40
41
  mode
@@ -53,7 +54,8 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
53
54
  description: isUpdating ? resource == null ? void 0 : resource.description : "",
54
55
  enablePublic: isUpdating ? resource == null ? void 0 : resource.public : !1,
55
56
  title: isUpdating ? resource == null ? void 0 : resource.name : "",
56
- formSlug: isUpdating ? resource == null ? void 0 : resource.slug : ""
57
+ formSlug: isUpdating ? resource == null ? void 0 : resource.slug : "",
58
+ allowReplies: isUpdating ? resource == null ? void 0 : resource.allowReplies : !0
57
59
  }
58
60
  }), {
59
61
  ref: mediaLibraryRef,
@@ -74,7 +76,8 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
74
76
  name: formData.title,
75
77
  public: formData.enablePublic,
76
78
  slug: formData.enablePublic && formData.formSlug || "",
77
- thumbnail
79
+ thumbnail,
80
+ allowReplies: formData.allowReplies
78
81
  };
79
82
  let result, param;
80
83
  if (isCreating) {
@@ -139,6 +142,10 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
139
142
  required: !1,
140
143
  maxLength: textareaMaxLength
141
144
  }), placeholder: ((_f = customT.placeholder) == null ? void 0 : _f.description) ?? t("explorer.resource.editModal.description.placeholder"), size: "md", maxLength: textareaMaxLength, showCounter: !0 })
145
+ ] }),
146
+ application === "blog" && hasOptionalCommentRepliesWorkflow === !0 && /* @__PURE__ */ jsxs(FormControl, { id: "allowReplies", className: "d-flex gap-8 mt-16 mb-8", children: [
147
+ /* @__PURE__ */ jsx(FormControl.Input, { type: "checkbox", defaultChecked: isUpdating ? resource.allowReplies : !0, ...register("allowReplies"), className: "form-check-input mt-0", size: "sm" }),
148
+ /* @__PURE__ */ jsx(FormControl.Label, { className: "form-check-label mb-0", children: t("explorer.resource.editModal.comments.allowReplies") })
142
149
  ] })
143
150
  ] })
144
151
  ] }),
@@ -4,5 +4,5 @@ export declare const ShareBookmark: ({ bookmark, refBookmark, onBookmarkChange,
4
4
  bookmark: BookmarkProps;
5
5
  refBookmark: Ref<HTMLInputElement>;
6
6
  onBookmarkChange: () => void;
7
- onSave: () => Promise<void>;
7
+ onSave: () => void;
8
8
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
3
2
  import { useTranslation } from "react-i18next";
4
3
  import SvgIconSave from "../../icons/components/IconSave.js";
5
4
  import FormControl from "../../../components/Form/FormControl.js";
@@ -12,12 +11,10 @@ const ShareBookmark = ({
12
11
  }) => {
13
12
  const {
14
13
  t
15
- } = useTranslation(), [isSaving, setIsSaving] = useState(!1), handleSaveClick = async () => {
16
- setIsSaving(!0), await onSave(), setIsSaving(!1);
17
- };
14
+ } = useTranslation();
18
15
  return /* @__PURE__ */ jsx("div", { className: "mt-16", children: /* @__PURE__ */ jsxs(FormControl, { id: "bookmarkName", className: "d-flex flex-wrap align-items-center gap-16", children: [
19
16
  /* @__PURE__ */ jsx("div", { className: "flex-fill", children: /* @__PURE__ */ jsx(FormControl.Input, { ref: refBookmark, onChange: onBookmarkChange, placeholder: t("explorer.modal.share.sharebookmark.placeholder"), size: "sm", type: "text" }, bookmark.id) }),
20
- /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "ghost", disabled: bookmark.name.length === 0 || isSaving, leftIcon: /* @__PURE__ */ jsx(SvgIconSave, {}), onClick: handleSaveClick, className: "text-nowrap", isLoading: isSaving, children: t("explorer.modal.share.sharebookmark.save") })
17
+ /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "ghost", disabled: bookmark.name.length === 0, leftIcon: /* @__PURE__ */ jsx(SvgIconSave, {}), onClick: onSave, className: "text-nowrap", children: t("explorer.modal.share.sharebookmark.save") })
21
18
  ] }) });
22
19
  };
23
20
  export {
@@ -1,5 +1,15 @@
1
1
  import { ReactNode } from 'react';
2
- import { ShareOptions, ShareResourceMutation } from './ShareResources';
2
+ import { ID, PutShareResponse, RightStringified, ShareRight } from '@edifice.io/client';
3
+ import { UseMutationResult } from '../../../node_modules/@tanstack/react-query';
4
+ export type ShareOptions = {
5
+ resourceId: ID;
6
+ resourceRights: RightStringified[];
7
+ resourceCreatorId: string;
8
+ };
9
+ export type ShareResourceMutation = UseMutationResult<PutShareResponse, unknown, {
10
+ resourceId: string;
11
+ rights: ShareRight[];
12
+ }, unknown>;
3
13
  interface ShareResourceModalProps {
4
14
  /** Handle open/close state */
5
15
  isOpen: boolean;