@edifice.io/react 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
1
  import { CustomToastOptions } from '../../hooks/useToast/useToast';
2
- declare const useHttpErrorToast: (options?: CustomToastOptions) => string | undefined;
2
+ export declare const useHttpErrorToast: ({ active, ...options }: {
3
+ active?: boolean;
4
+ } & CustomToastOptions) => string | undefined;
3
5
  export default useHttpErrorToast;
@@ -2,29 +2,35 @@ import React, { useRef, useEffect } from "react";
2
2
  import { odeServices, LAYER_NAME } from "@edifice.io/client";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import useToast from "../useToast/useToast.js";
5
- const useHttpErrorToast = (options) => {
5
+ const useHttpErrorToast = ({
6
+ active = !0,
7
+ ...options
8
+ }) => {
6
9
  const message = useRef(), toast = useToast(), {
7
10
  t
8
11
  } = useTranslation();
9
12
  return useEffect(() => {
10
- const subscription = odeServices.notify().events().subscribe(LAYER_NAME.TRANSPORT, (event) => {
11
- var _a;
12
- if (!(event != null && event.data)) return;
13
- const {
14
- response
15
- } = event.data, i18nKey = (
16
- // The payload may include the i18n key of the error message to show,
17
- ((_a = event.data.payload) == null ? void 0 : _a.error) || // otherwise, try showing the translation of some known HTTP error code.
18
- ([400, 401, 403, 404, 408, 413, 500, 504].includes(response == null ? void 0 : response.status) ? `e${event.data.response.status}` : void 0) || // otherwise try showing the statusText (may be technical, in english),
19
- (response == null ? void 0 : response.statusText)
20
- );
21
- typeof i18nKey == "string" && (message.current = t(i18nKey), toast.error(/* @__PURE__ */ React.createElement("div", {
22
- children: [message.current]
23
- }), options));
24
- });
25
- return () => subscription.revoke();
26
- }, [t, toast]), message.current;
13
+ if (active) {
14
+ const subscription = odeServices.notify().events().subscribe(LAYER_NAME.TRANSPORT, (event) => {
15
+ var _a;
16
+ if (!(event != null && event.data)) return;
17
+ const {
18
+ response
19
+ } = event.data, i18nKey = (
20
+ // The payload may include the i18n key of the error message to show,
21
+ ((_a = event.data.payload) == null ? void 0 : _a.error) || // otherwise, try showing the translation of some known HTTP error code.
22
+ ([400, 401, 403, 404, 408, 413, 500, 504].includes(response == null ? void 0 : response.status) ? `e${event.data.response.status}` : void 0) || // otherwise try showing the statusText (may be technical, in english),
23
+ (response == null ? void 0 : response.statusText)
24
+ );
25
+ typeof i18nKey == "string" && (message.current = t(i18nKey), toast.error(/* @__PURE__ */ React.createElement("div", {
26
+ children: [message.current]
27
+ }), options));
28
+ });
29
+ return () => subscription.revoke();
30
+ }
31
+ }, [t, toast, active]), message.current;
27
32
  };
28
33
  export {
29
- useHttpErrorToast as default
34
+ useHttpErrorToast as default,
35
+ useHttpErrorToast
30
36
  };
package/dist/index.js CHANGED
@@ -60,47 +60,47 @@ import { default as default59 } from "./hooks/useDropzone/useDropzone.js";
60
60
  import { default as default60 } from "./hooks/useEdificeIcons/useEdificeIcons.js";
61
61
  import { default as default61 } from "./hooks/useHasWorkflow/useHasWorkflow.js";
62
62
  import { default as default62 } from "./hooks/useHover/useHover.js";
63
- import { default as default63 } from "./hooks/useHttpErrorToast/useHttpErrorToast.js";
64
- import { default as default64 } from "./hooks/useImage/useImage.js";
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";
63
+ import { useHttpErrorToast } from "./hooks/useHttpErrorToast/useHttpErrorToast.js";
64
+ import { default as default63 } from "./hooks/useImage/useImage.js";
65
+ import { default as default64 } from "./hooks/useIsAdml/useIsAdml.js";
66
+ import { default as default65 } from "./hooks/useIsAdmc/useIsAdmc.js";
67
+ import { default as default66 } from "./hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js";
68
+ import { default as default67 } from "./hooks/useKeyPress/useKeyPress.js";
69
+ import { default as default68 } from "./hooks/useLibraryUrl/useLibraryUrl.js";
70
+ import { default as default69 } from "./hooks/useMediaLibrary/useMediaLibrary.js";
71
+ import { default as default70 } from "./hooks/useScrollToTop/useScrollToTop.js";
72
+ import { default as default71 } from "./hooks/useTitle/useTitle.js";
73
+ import { default as default72 } from "./hooks/useToast/useToast.js";
74
+ import { default as default73 } from "./hooks/useToggle/useToggle.js";
75
+ import { default as default74 } from "./hooks/useTrapFocus/useTrapFocus.js";
76
+ import { default as default75 } from "./hooks/useTrashedResource/useTrashedResource.js";
77
+ import { default as default76 } from "./hooks/useUpload/useUpload.js";
78
+ import { default as default77 } from "./hooks/useUploadFiles/useUploadFiles.js";
79
+ import { default as default78 } from "./hooks/useUser/useUser.js";
80
+ import { default as default79 } from "./hooks/useWorkspaceFile/useWorkspaceFile.js";
81
+ import { default as default80 } from "./hooks/useWorkspaceFolders/useWorkspaceFolders.js";
82
+ import { WORKSPACE_SHARED_FOLDER_ID, WORKSPACE_USER_FOLDER_ID, default as default81 } from "./hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js";
83
+ import { default as default82 } from "./hooks/useWorkspaceSearch/useWorkspaceSearch.js";
84
+ import { default as default83 } from "./hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js";
85
+ import { default as default84 } from "./hooks/useZendeskGuide/useZendeskGuide.js";
86
+ import { default as default85 } from "./modules/modals/ConfirmModal/ConfirmModal.js";
87
+ import { default as default86 } from "./modules/modals/OnboardingModal/OnboardingModal.js";
88
+ import { default as default87 } from "./modules/modals/PublishModal/PublishModal.js";
89
+ import { default as default88 } from "./modules/modals/ResourceModal/apps/BlogPublic.js";
90
+ import { default as default89 } from "./modules/modals/ResourceModal/hooks/useUpdateMutation.js";
91
+ import { default as default90 } from "./modules/modals/ShareModal/ShareModal.js";
92
+ import { default as default91 } from "./modules/modals/ShareModal/apps/ShareBlog.js";
93
+ import { default as default92 } from "./modules/modals/ShareModal/hooks/useShareMutation.js";
94
+ import { default as default93 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
95
+ import { default as default94 } from "./modules/multimedia/Embed/Embed.js";
96
+ import { default as default95 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
97
+ import { default as default96 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
98
+ import { default as default97 } from "./modules/multimedia/FileCard/FileCard.js";
99
+ import { default as default98 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
100
+ import { default as default99 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
101
+ import { default as default100 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
102
+ import { default as default101 } from "./modules/multimedia/Workspace/Workspace.js";
103
+ import { default as default102 } from "./modules/multimedia/WorkspaceFolders/WorkspaceFolders.js";
104
104
  import { AccessiblePalette, DefaultPalette } from "./components/ColorPicker/ColorPalette.js";
105
105
  import { DropzoneContext, useDropzoneContext } from "./components/Dropzone/DropzoneContext.js";
106
106
  import { Column, Grid } from "./components/Grid/Grid.js";
@@ -136,11 +136,11 @@ export {
136
136
  default4 as AppHeader,
137
137
  default5 as AppIcon,
138
138
  default6 as Attachment,
139
- default94 as AudioRecorder,
139
+ default93 as AudioRecorder,
140
140
  default7 as Avatar,
141
141
  default8 as AvatarGroup,
142
142
  default9 as Badge,
143
- default89 as BlogPublic,
143
+ default88 as BlogPublic,
144
144
  default10 as Breadcrumb,
145
145
  default11 as Button,
146
146
  default37 as ButtonSkeleton,
@@ -150,7 +150,7 @@ export {
150
150
  default17 as ColorPickerItem,
151
151
  Column,
152
152
  default18 as Combobox,
153
- default86 as ConfirmModal,
153
+ default85 as ConfirmModal,
154
154
  DefaultPalette,
155
155
  DndTree,
156
156
  default19 as Dropdown,
@@ -160,10 +160,10 @@ export {
160
160
  EdificeClientProvider,
161
161
  EdificeThemeContext,
162
162
  EdificeThemeProvider,
163
- default95 as Embed,
163
+ default94 as Embed,
164
164
  default21 as EmptyScreen,
165
165
  ExternalLinker,
166
- default98 as FileCard,
166
+ default97 as FileCard,
167
167
  default22 as Flex,
168
168
  default24 as FormControl,
169
169
  default23 as FormText,
@@ -171,8 +171,8 @@ export {
171
171
  default25 as Heading,
172
172
  default12 as IconButton,
173
173
  default26 as Image,
174
- default96 as ImageEditor,
175
- default97 as ImagePicker,
174
+ default95 as ImageEditor,
175
+ default96 as ImagePicker,
176
176
  default27 as Input,
177
177
  InternalLinker,
178
178
  default28 as Label,
@@ -181,24 +181,24 @@ export {
181
181
  default29 as Loading,
182
182
  default30 as LoadingScreen,
183
183
  default31 as Logo,
184
- default99 as MediaLibrary,
184
+ default98 as MediaLibrary,
185
185
  Menu,
186
186
  MockedProvider,
187
187
  default32 as Modal,
188
- default87 as OnboardingModal,
188
+ default86 as OnboardingModal,
189
189
  Popover,
190
190
  PopoverBody,
191
191
  PopoverFooter,
192
192
  PopoverHeader,
193
193
  default33 as PreventPropagation,
194
- default88 as PublishModal,
194
+ default87 as PublishModal,
195
195
  default34 as Radio,
196
196
  ResourceModal,
197
197
  default35 as SearchBar,
198
198
  default13 as SearchButton,
199
199
  default36 as Select,
200
- default92 as ShareBlog,
201
- default91 as ShareModal,
200
+ default91 as ShareBlog,
201
+ default90 as ShareModal,
202
202
  default45 as SortableTree,
203
203
  default39 as StackedGroup,
204
204
  default40 as Stepper,
@@ -213,13 +213,13 @@ export {
213
213
  TreeNode,
214
214
  TreeNodeFolderWrapper,
215
215
  default47 as TreeView,
216
- default100 as VideoEmbed,
217
- default101 as VideoRecorder,
216
+ default99 as VideoEmbed,
217
+ default100 as VideoRecorder,
218
218
  default48 as VisuallyHidden,
219
219
  WORKSPACE_SHARED_FOLDER_ID,
220
220
  WORKSPACE_USER_FOLDER_ID,
221
- default102 as Workspace,
222
- default103 as WorkspaceFolders,
221
+ default101 as Workspace,
222
+ default102 as WorkspaceFolders,
223
223
  addNode,
224
224
  arrayUnique,
225
225
  buildTree,
@@ -265,32 +265,32 @@ export {
265
265
  useEdificeTheme,
266
266
  default61 as useHasWorkflow,
267
267
  default62 as useHover,
268
- default63 as useHttpErrorToast,
269
- default64 as useImage,
270
- default66 as useIsAdmc,
271
- 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,
268
+ useHttpErrorToast,
269
+ default63 as useImage,
270
+ default65 as useIsAdmc,
271
+ default64 as useIsAdml,
272
+ default66 as useIsAdmlcOrAdmc,
273
+ default67 as useKeyPress,
274
+ default68 as useLibraryUrl,
275
+ default69 as useMediaLibrary,
276
+ default70 as useScrollToTop,
277
+ default92 as useShareMutation,
278
+ default71 as useTitle,
279
+ default72 as useToast,
280
+ default73 as useToggle,
281
+ default74 as useTrapFocus,
282
+ default75 as useTrashedResource,
283
283
  useTreeSortable,
284
284
  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,
285
+ default89 as useUpdateMutation,
286
+ default76 as useUpload,
287
+ default77 as useUploadFiles,
288
+ default78 as useUser,
289
+ default79 as useWorkspaceFile,
290
+ default80 as useWorkspaceFolders,
291
+ default81 as useWorkspaceFoldersTree,
292
+ default82 as useWorkspaceSearch,
293
+ default83 as useXitiTrackPageLoad,
294
+ default84 as useZendeskGuide,
295
295
  wrapTreeNode
296
296
  };
@@ -11,8 +11,8 @@ import SvgIconRecordVideo from "../../icons/components/IconRecordVideo.js";
11
11
  import SvgIconSmartphone from "../../icons/components/IconSmartphone.js";
12
12
  import { InnerTabs } from "./innertabs/index.js";
13
13
  import { MediaLibraryContext } from "./MediaLibraryContext.js";
14
- import useHttpErrorToast from "../../../hooks/useHttpErrorToast/useHttpErrorToast.js";
15
14
  import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
15
+ import { useHttpErrorToast } from "../../../hooks/useHttpErrorToast/useHttpErrorToast.js";
16
16
  import Modal from "../../../components/Modal/Modal.js";
17
17
  import { Tabs } from "../../../components/Tabs/components/Tabs.js";
18
18
  import Button from "../../../components/Button/Button.js";
@@ -78,13 +78,16 @@ const orderedTabs = [
78
78
  showLink,
79
79
  type,
80
80
  ...refModal.current
81
- })), useHttpErrorToast({
81
+ }));
82
+ const {
83
+ t
84
+ } = useTranslation(), workspaceCreateWorkflow = useHasWorkflow("org.entcore.workspace.controllers.WorkspaceController|addDocument"), videoCaptureWorkflow = useHasWorkflow("com.opendigitaleducation.video.controllers.VideoController|capture"), [type, setType] = useState(null);
85
+ useHttpErrorToast({
86
+ active: !!type,
82
87
  isDismissible: !0,
83
88
  duration: 1 / 0
84
89
  });
85
- const {
86
- t
87
- } = useTranslation(), workspaceCreateWorkflow = useHasWorkflow("org.entcore.workspace.controllers.WorkspaceController|addDocument"), videoCaptureWorkflow = useHasWorkflow("com.opendigitaleducation.video.controllers.VideoController|capture"), [type, setType] = useState(null), availableTabs = {
90
+ const availableTabs = {
88
91
  workspace: {
89
92
  id: "workspace",
90
93
  icon: /* @__PURE__ */ jsx(SvgIconFolder, {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -131,9 +131,9 @@
131
131
  "react-slugify": "^3.0.3",
132
132
  "swiper": "^10.1.0",
133
133
  "ua-parser-js": "^1.0.36",
134
- "@edifice.io/bootstrap": "2.4.1",
135
- "@edifice.io/tiptap-extensions": "2.4.1",
136
- "@edifice.io/utilities": "2.4.1"
134
+ "@edifice.io/bootstrap": "2.4.2",
135
+ "@edifice.io/tiptap-extensions": "2.4.2",
136
+ "@edifice.io/utilities": "2.4.2"
137
137
  },
138
138
  "devDependencies": {
139
139
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
@@ -164,8 +164,8 @@
164
164
  "vite": "^5.4.11",
165
165
  "vite-plugin-dts": "^4.1.0",
166
166
  "vite-tsconfig-paths": "^5.0.1",
167
- "@edifice.io/client": "2.4.1",
168
- "@edifice.io/config": "2.4.1"
167
+ "@edifice.io/config": "2.4.2",
168
+ "@edifice.io/client": "2.4.2"
169
169
  },
170
170
  "peerDependencies": {
171
171
  "@react-spring/web": "^9.7.5",