@edifice.io/react 2.5.17 → 2.5.18-develop-enabling.20260504105750

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 (74) hide show
  1. package/dist/components/Card/Card.js +1 -1
  2. package/dist/components/Combobox/Combobox.js +1 -1
  3. package/dist/components/Dropdown/Dropdown.d.ts +7 -3
  4. package/dist/components/Dropdown/Dropdown.js +22 -7
  5. package/dist/components/Dropdown/DropdownCheckboxItem.d.ts +6 -1
  6. package/dist/components/Dropdown/DropdownCheckboxItem.js +11 -6
  7. package/dist/components/Dropdown/DropdownContext.d.ts +5 -0
  8. package/dist/components/Dropdown/DropdownItem.d.ts +6 -1
  9. package/dist/components/Dropdown/DropdownItem.js +10 -5
  10. package/dist/components/Dropdown/DropdownItemHidden.d.ts +12 -0
  11. package/dist/components/Dropdown/DropdownItemHidden.js +19 -0
  12. package/dist/components/Dropdown/DropdownRadioItem.d.ts +6 -1
  13. package/dist/components/Dropdown/DropdownRadioItem.js +11 -6
  14. package/dist/components/Dropdown/DropdownSearchInput.d.ts +20 -0
  15. package/dist/components/Dropdown/DropdownSearchInput.js +25 -0
  16. package/dist/components/Dropdown/useDropdownItemFilter.d.ts +12 -0
  17. package/dist/components/Dropdown/useDropdownItemFilter.js +19 -0
  18. package/dist/components/Form/FormControl.js +1 -1
  19. package/dist/components/Layout/components/WidgetApps.js +1 -1
  20. package/dist/components/Modal/Modal.js +1 -1
  21. package/dist/components/Pagination/Pagination.d.ts +17 -0
  22. package/dist/components/Pagination/Pagination.js +14 -0
  23. package/dist/components/Pagination/index.d.ts +1 -0
  24. package/dist/components/PreventPropagation/PreventPropagation.js +1 -1
  25. package/dist/components/PromotionCard/PromotionCard.js +1 -1
  26. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  27. package/dist/components/Table/components/Table.js +1 -1
  28. package/dist/components/index.d.ts +1 -0
  29. package/dist/hooks/useConf/useConf.d.ts +1 -1
  30. package/dist/hooks/useDropdown/useDropdown.js +9 -8
  31. package/dist/hooks/useSession/useSession.d.ts +1 -1
  32. package/dist/hooks/useThumbnail/useThumbnail.d.ts +1 -1
  33. package/dist/hooks/useThumbnail/useThumbnail.js +5 -1
  34. package/dist/hooks/useUpload/useUpload.js +2 -5
  35. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +12 -0
  36. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +1 -1
  37. package/dist/hooks/useZendeskGuide/useZendeskGuide.js +1 -1
  38. package/dist/icons-apps.js +136 -134
  39. package/dist/index.js +2 -0
  40. package/dist/modules/editor/components/Editor/EditorPreview.js +1 -1
  41. package/dist/modules/icons/components/apps/IconLivretScolaire.d.ts +7 -0
  42. package/dist/modules/icons/components/apps/IconLivretScolaire.js +13 -0
  43. package/dist/modules/icons/components/apps/index.d.ts +1 -0
  44. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
  45. package/dist/modules/modals/ResourceModal/ResourceModal.js +1 -1
  46. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
  47. package/dist/modules/modals/ShareModal/ShareResources.d.ts +4 -53
  48. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  49. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +2 -1
  50. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
  51. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +24 -10
  52. package/dist/modules/multimedia/ImageEditor/effects/blur.d.ts +7 -5
  53. package/dist/modules/multimedia/ImageEditor/effects/blur.js +26 -18
  54. package/dist/modules/multimedia/ImageEditor/effects/constants.d.ts +2 -0
  55. package/dist/modules/multimedia/ImageEditor/effects/constants.js +4 -0
  56. package/dist/modules/multimedia/ImageEditor/effects/crop.d.ts +4 -5
  57. package/dist/modules/multimedia/ImageEditor/effects/crop.js +42 -26
  58. package/dist/modules/multimedia/ImageEditor/effects/misc.d.ts +10 -16
  59. package/dist/modules/multimedia/ImageEditor/effects/misc.js +27 -12
  60. package/dist/modules/multimedia/ImageEditor/effects/resize.d.ts +3 -7
  61. package/dist/modules/multimedia/ImageEditor/effects/resize.js +31 -22
  62. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +2 -3
  63. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +40 -41
  64. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.d.ts +1 -1
  65. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +9 -3
  66. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +4 -1
  67. package/dist/modules/multimedia/LinkerCard/LinkerCard._.d.ts +1 -1
  68. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +1 -0
  69. package/dist/modules/multimedia/UploadCard/UploadCard._.d.ts +1 -1
  70. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +4 -4
  71. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
  72. package/dist/utilities/react-query/react-query-utils.d.ts +1 -1
  73. package/package.json +52 -53
  74. package/dist/modules/multimedia/FileCard/FileCard._.d.ts +0 -17
@@ -13,6 +13,10 @@ function useThumbnail(src, options) {
13
13
  (_a = options == null ? void 0 : options.ref) != null && _a.current && (inViewRef == null || inViewRef(options.ref.current));
14
14
  }, [options == null ? void 0 : options.ref, inViewRef]), useEffect(() => {
15
15
  if ((options == null ? void 0 : options.ref) === void 0 || inView) {
16
+ if (!src) {
17
+ setStatus(!1);
18
+ return;
19
+ }
16
20
  const img = new Image();
17
21
  return img.src = src, img.onload = () => {
18
22
  setStatus(!0);
@@ -22,7 +26,7 @@ function useThumbnail(src, options) {
22
26
  img.onload = null, img.onerror = null, setStatus(null);
23
27
  };
24
28
  }
25
- }, [inView]), status;
29
+ }, [inView, src]), status;
26
30
  }
27
31
  export {
28
32
  useThumbnail as default
@@ -87,11 +87,8 @@ const useUpload = (visibility, application = "media-library") => {
87
87
  children: [],
88
88
  created: /* @__PURE__ */ new Date(),
89
89
  _shared: [],
90
- _isShared: !1,
91
- owner: {
92
- userId: "",
93
- displayName: ""
94
- }
90
+ isShared: !1,
91
+ owner: ""
95
92
  };
96
93
  throw uploadResponse.state === "error" ? new Error(uploadResponse.code || "Error while uploading video") : new Error("Video encoding is still running");
97
94
  };
@@ -0,0 +1,12 @@
1
+ import { WorkspaceElement } from '@edifice.io/client';
2
+ export interface CreateFolderParams {
3
+ folderName: string;
4
+ folderParentId?: string;
5
+ }
6
+ declare function useWorkspaceFolders(): {
7
+ folders: WorkspaceElement[];
8
+ createFolderMutation: import('@tanstack/react-query').UseMutationResult<any, Error, CreateFolderParams, unknown>;
9
+ canCopyFileIntoFolder: (folderId: string) => boolean;
10
+ isLoading: boolean;
11
+ };
12
+ export default useWorkspaceFolders;
@@ -1,8 +1,8 @@
1
1
  import { odeServices } from "@edifice.io/client";
2
2
  import { useQueryClient, useQuery, useMutation } from "@tanstack/react-query";
3
3
  import { useMemo, useCallback } from "react";
4
- import { useEdificeClient } from "../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
5
4
  import { useTranslation } from "react-i18next";
5
+ import { useEdificeClient } from "../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
6
6
  import useToast from "../useToast/useToast.js";
7
7
  function useWorkspaceFolders() {
8
8
  const queryClient = useQueryClient(), {
@@ -90,7 +90,7 @@ function useZendeskGuide() {
90
90
  suppress: !0
91
91
  }
92
92
  }
93
- }), window.zE("webWidget", "close"), window.open("/support", "_blank"));
93
+ }), window.zE("webWidget", "close"), window.open("/support/tickets/new", "_blank"));
94
94
  });
95
95
  };
96
96
  }
@@ -57,73 +57,74 @@ import { default as default57 } from "./modules/icons/components/apps/IconLeSite
57
57
  import { default as default58 } from "./modules/icons/components/apps/IconLemonde.js";
58
58
  import { default as default59 } from "./modules/icons/components/apps/IconLesechos.js";
59
59
  import { default as default60 } from "./modules/icons/components/apps/IconLibrary.js";
60
- import { default as default61 } from "./modules/icons/components/apps/IconLool.js";
61
- import { default as default62 } from "./modules/icons/components/apps/IconLsu.js";
62
- import { default as default63 } from "./modules/icons/components/apps/IconMadmagz.js";
63
- import { default as default64 } from "./modules/icons/components/apps/IconMagneto.js";
64
- import { default as default65 } from "./modules/icons/components/apps/IconMatholycee.js";
65
- import { default as default66 } from "./modules/icons/components/apps/IconMaxicours.js";
66
- import { default as default67 } from "./modules/icons/components/apps/IconMediacentre.js";
67
- import { default as default68 } from "./modules/icons/components/apps/IconMindmap.js";
68
- import { default as default69 } from "./modules/icons/components/apps/IconMinetest.js";
69
- import { default as default70 } from "./modules/icons/components/apps/IconMinibadge.js";
70
- import { default as default71 } from "./modules/icons/components/apps/IconMonorientationenligne.js";
71
- import { default as default72 } from "./modules/icons/components/apps/IconMonstageenligne.js";
72
- import { default as default73 } from "./modules/icons/components/apps/IconMoodle.js";
73
- import { default as default74 } from "./modules/icons/components/apps/IconMuseefrancaisphoto.js";
74
- import { default as default75 } from "./modules/icons/components/apps/IconMyNetwork.js";
75
- import { default as default76 } from "./modules/icons/components/apps/IconNabook.js";
76
- import { default as default77 } from "./modules/icons/components/apps/IconNetvibes.js";
77
- import { default as default78 } from "./modules/icons/components/apps/IconNote.js";
78
- import { default as default79 } from "./modules/icons/components/apps/IconNotebook.js";
79
- import { default as default80 } from "./modules/icons/components/apps/IconNotes.js";
80
- import { default as default81 } from "./modules/icons/components/apps/IconOnisep.js";
81
- import { default as default82 } from "./modules/icons/components/apps/IconOnisep2.js";
82
- import { default as default83 } from "./modules/icons/components/apps/IconPad.js";
83
- import { default as default84 } from "./modules/icons/components/apps/IconPages.js";
84
- import { default as default85 } from "./modules/icons/components/apps/IconParametrage.js";
85
- import { default as default86 } from "./modules/icons/components/apps/IconParametrages.js";
86
- import { default as default87 } from "./modules/icons/components/apps/IconParaschool.js";
87
- import { default as default88 } from "./modules/icons/components/apps/IconParcours.js";
88
- import { default as default89 } from "./modules/icons/components/apps/IconPearltrees.js";
89
- import { default as default90 } from "./modules/icons/components/apps/IconPicardieCursus.js";
90
- import { default as default91 } from "./modules/icons/components/apps/IconPlaceholder.js";
91
- import { default as default92 } from "./modules/icons/components/apps/IconPoll.js";
92
- import { default as default93 } from "./modules/icons/components/apps/IconPresences.js";
93
- import { default as default94 } from "./modules/icons/components/apps/IconProeps.js";
94
- import { default as default95 } from "./modules/icons/components/apps/IconPronote.js";
95
- import { default as default96 } from "./modules/icons/components/apps/IconPublic.js";
96
- import { default as default97 } from "./modules/icons/components/apps/IconQwantJunior.js";
97
- import { default as default98 } from "./modules/icons/components/apps/IconQwant.js";
98
- import { default as default99 } from "./modules/icons/components/apps/IconRack.js";
99
- import { default as default100 } from "./modules/icons/components/apps/IconRbs.js";
100
- import { default as default101 } from "./modules/icons/components/apps/IconResidenceArtiste.js";
101
- import { default as default102 } from "./modules/icons/components/apps/IconRessourcesdepartementale91.js";
102
- import { default as default103 } from "./modules/icons/components/apps/IconSacoche.js";
103
- import { default as default104 } from "./modules/icons/components/apps/IconSchoolbook.js";
104
- import { default as default105 } from "./modules/icons/components/apps/IconScolinfo.js";
105
- import { default as default106 } from "./modules/icons/components/apps/IconScrapbook.js";
106
- import { default as default107 } from "./modules/icons/components/apps/IconSearchengine.js";
107
- import { default as default108 } from "./modules/icons/components/apps/IconSettingsClass.js";
108
- import { default as default109 } from "./modules/icons/components/apps/IconSharebigfiles.js";
109
- import { default as default110 } from "./modules/icons/components/apps/IconStatistics.js";
110
- import { default as default111 } from "./modules/icons/components/apps/IconStats.js";
111
- import { default as default112 } from "./modules/icons/components/apps/IconSuitcase.js";
112
- import { default as default113 } from "./modules/icons/components/apps/IconSupport.js";
113
- import { default as default114 } from "./modules/icons/components/apps/IconTimeline.js";
114
- import { default as default115 } from "./modules/icons/components/apps/IconTimelinegenerator.js";
115
- import { default as default116 } from "./modules/icons/components/apps/IconTurboself.js";
116
- import { default as default117 } from "./modules/icons/components/apps/IconUniversalis.js";
117
- import { default as default118 } from "./modules/icons/components/apps/IconUnstagepourtous.js";
118
- import { default as default119 } from "./modules/icons/components/apps/IconUserbook.js";
119
- import { default as default120 } from "./modules/icons/components/apps/IconVideo.js";
120
- import { default as default121 } from "./modules/icons/components/apps/IconVieScolaire.js";
121
- import { default as default122 } from "./modules/icons/components/apps/IconVisioconf.js";
122
- import { default as default123 } from "./modules/icons/components/apps/IconVotil.js";
123
- import { default as default124 } from "./modules/icons/components/apps/IconWebclasseur.js";
124
- import { default as default125 } from "./modules/icons/components/apps/IconWebsite.js";
125
- import { default as default126 } from "./modules/icons/components/apps/IconWiki.js";
126
- import { default as default127 } from "./modules/icons/components/apps/IconWorkspace.js";
60
+ import { default as default61 } from "./modules/icons/components/apps/IconLivretScolaire.js";
61
+ import { default as default62 } from "./modules/icons/components/apps/IconLool.js";
62
+ import { default as default63 } from "./modules/icons/components/apps/IconLsu.js";
63
+ import { default as default64 } from "./modules/icons/components/apps/IconMadmagz.js";
64
+ import { default as default65 } from "./modules/icons/components/apps/IconMagneto.js";
65
+ import { default as default66 } from "./modules/icons/components/apps/IconMatholycee.js";
66
+ import { default as default67 } from "./modules/icons/components/apps/IconMaxicours.js";
67
+ import { default as default68 } from "./modules/icons/components/apps/IconMediacentre.js";
68
+ import { default as default69 } from "./modules/icons/components/apps/IconMindmap.js";
69
+ import { default as default70 } from "./modules/icons/components/apps/IconMinetest.js";
70
+ import { default as default71 } from "./modules/icons/components/apps/IconMinibadge.js";
71
+ import { default as default72 } from "./modules/icons/components/apps/IconMonorientationenligne.js";
72
+ import { default as default73 } from "./modules/icons/components/apps/IconMonstageenligne.js";
73
+ import { default as default74 } from "./modules/icons/components/apps/IconMoodle.js";
74
+ import { default as default75 } from "./modules/icons/components/apps/IconMuseefrancaisphoto.js";
75
+ import { default as default76 } from "./modules/icons/components/apps/IconMyNetwork.js";
76
+ import { default as default77 } from "./modules/icons/components/apps/IconNabook.js";
77
+ import { default as default78 } from "./modules/icons/components/apps/IconNetvibes.js";
78
+ import { default as default79 } from "./modules/icons/components/apps/IconNote.js";
79
+ import { default as default80 } from "./modules/icons/components/apps/IconNotebook.js";
80
+ import { default as default81 } from "./modules/icons/components/apps/IconNotes.js";
81
+ import { default as default82 } from "./modules/icons/components/apps/IconOnisep.js";
82
+ import { default as default83 } from "./modules/icons/components/apps/IconOnisep2.js";
83
+ import { default as default84 } from "./modules/icons/components/apps/IconPad.js";
84
+ import { default as default85 } from "./modules/icons/components/apps/IconPages.js";
85
+ import { default as default86 } from "./modules/icons/components/apps/IconParametrage.js";
86
+ import { default as default87 } from "./modules/icons/components/apps/IconParametrages.js";
87
+ import { default as default88 } from "./modules/icons/components/apps/IconParaschool.js";
88
+ import { default as default89 } from "./modules/icons/components/apps/IconParcours.js";
89
+ import { default as default90 } from "./modules/icons/components/apps/IconPearltrees.js";
90
+ import { default as default91 } from "./modules/icons/components/apps/IconPicardieCursus.js";
91
+ import { default as default92 } from "./modules/icons/components/apps/IconPlaceholder.js";
92
+ import { default as default93 } from "./modules/icons/components/apps/IconPoll.js";
93
+ import { default as default94 } from "./modules/icons/components/apps/IconPresences.js";
94
+ import { default as default95 } from "./modules/icons/components/apps/IconProeps.js";
95
+ import { default as default96 } from "./modules/icons/components/apps/IconPronote.js";
96
+ import { default as default97 } from "./modules/icons/components/apps/IconPublic.js";
97
+ import { default as default98 } from "./modules/icons/components/apps/IconQwantJunior.js";
98
+ import { default as default99 } from "./modules/icons/components/apps/IconQwant.js";
99
+ import { default as default100 } from "./modules/icons/components/apps/IconRack.js";
100
+ import { default as default101 } from "./modules/icons/components/apps/IconRbs.js";
101
+ import { default as default102 } from "./modules/icons/components/apps/IconResidenceArtiste.js";
102
+ import { default as default103 } from "./modules/icons/components/apps/IconRessourcesdepartementale91.js";
103
+ import { default as default104 } from "./modules/icons/components/apps/IconSacoche.js";
104
+ import { default as default105 } from "./modules/icons/components/apps/IconSchoolbook.js";
105
+ import { default as default106 } from "./modules/icons/components/apps/IconScolinfo.js";
106
+ import { default as default107 } from "./modules/icons/components/apps/IconScrapbook.js";
107
+ import { default as default108 } from "./modules/icons/components/apps/IconSearchengine.js";
108
+ import { default as default109 } from "./modules/icons/components/apps/IconSettingsClass.js";
109
+ import { default as default110 } from "./modules/icons/components/apps/IconSharebigfiles.js";
110
+ import { default as default111 } from "./modules/icons/components/apps/IconStatistics.js";
111
+ import { default as default112 } from "./modules/icons/components/apps/IconStats.js";
112
+ import { default as default113 } from "./modules/icons/components/apps/IconSuitcase.js";
113
+ import { default as default114 } from "./modules/icons/components/apps/IconSupport.js";
114
+ import { default as default115 } from "./modules/icons/components/apps/IconTimeline.js";
115
+ import { default as default116 } from "./modules/icons/components/apps/IconTimelinegenerator.js";
116
+ import { default as default117 } from "./modules/icons/components/apps/IconTurboself.js";
117
+ import { default as default118 } from "./modules/icons/components/apps/IconUniversalis.js";
118
+ import { default as default119 } from "./modules/icons/components/apps/IconUnstagepourtous.js";
119
+ import { default as default120 } from "./modules/icons/components/apps/IconUserbook.js";
120
+ import { default as default121 } from "./modules/icons/components/apps/IconVideo.js";
121
+ import { default as default122 } from "./modules/icons/components/apps/IconVieScolaire.js";
122
+ import { default as default123 } from "./modules/icons/components/apps/IconVisioconf.js";
123
+ import { default as default124 } from "./modules/icons/components/apps/IconVotil.js";
124
+ import { default as default125 } from "./modules/icons/components/apps/IconWebclasseur.js";
125
+ import { default as default126 } from "./modules/icons/components/apps/IconWebsite.js";
126
+ import { default as default127 } from "./modules/icons/components/apps/IconWiki.js";
127
+ import { default as default128 } from "./modules/icons/components/apps/IconWorkspace.js";
127
128
  export {
128
129
  default2 as IconAccount,
129
130
  default3 as IconActualites,
@@ -184,71 +185,72 @@ export {
184
185
  default58 as IconLemonde,
185
186
  default59 as IconLesechos,
186
187
  default60 as IconLibrary,
187
- default61 as IconLool,
188
- default62 as IconLsu,
189
- default63 as IconMadmagz,
190
- default64 as IconMagneto,
191
- default65 as IconMatholycee,
192
- default66 as IconMaxicours,
193
- default67 as IconMediacentre,
194
- default68 as IconMindmap,
195
- default69 as IconMinetest,
196
- default70 as IconMinibadge,
197
- default71 as IconMonorientationenligne,
198
- default72 as IconMonstageenligne,
199
- default73 as IconMoodle,
200
- default74 as IconMuseefrancaisphoto,
201
- default75 as IconMyNetwork,
202
- default76 as IconNabook,
203
- default77 as IconNetvibes,
204
- default78 as IconNote,
205
- default79 as IconNotebook,
206
- default80 as IconNotes,
207
- default81 as IconOnisep,
208
- default82 as IconOnisep2,
209
- default83 as IconPad,
210
- default84 as IconPages,
211
- default85 as IconParametrage,
212
- default86 as IconParametrages,
213
- default87 as IconParaschool,
214
- default88 as IconParcours,
215
- default89 as IconPearltrees,
216
- default90 as IconPicardieCursus,
217
- default91 as IconPlaceholder,
218
- default92 as IconPoll,
219
- default93 as IconPresences,
220
- default94 as IconProeps,
221
- default95 as IconPronote,
222
- default96 as IconPublic,
223
- default98 as IconQwant,
224
- default97 as IconQwantJunior,
225
- default99 as IconRack,
226
- default100 as IconRbs,
227
- default101 as IconResidenceArtiste,
228
- default102 as IconRessourcesdepartementale91,
229
- default103 as IconSacoche,
230
- default104 as IconSchoolbook,
231
- default105 as IconScolinfo,
232
- default106 as IconScrapbook,
233
- default107 as IconSearchengine,
234
- default108 as IconSettingsClass,
235
- default109 as IconSharebigfiles,
236
- default110 as IconStatistics,
237
- default111 as IconStats,
238
- default112 as IconSuitcase,
239
- default113 as IconSupport,
240
- default114 as IconTimeline,
241
- default115 as IconTimelinegenerator,
242
- default116 as IconTurboself,
243
- default117 as IconUniversalis,
244
- default118 as IconUnstagepourtous,
245
- default119 as IconUserbook,
246
- default120 as IconVideo,
247
- default121 as IconVieScolaire,
248
- default122 as IconVisioconf,
249
- default123 as IconVotil,
250
- default124 as IconWebclasseur,
251
- default125 as IconWebsite,
252
- default126 as IconWiki,
253
- default127 as IconWorkspace
188
+ default61 as IconLivretScolaire,
189
+ default62 as IconLool,
190
+ default63 as IconLsu,
191
+ default64 as IconMadmagz,
192
+ default65 as IconMagneto,
193
+ default66 as IconMatholycee,
194
+ default67 as IconMaxicours,
195
+ default68 as IconMediacentre,
196
+ default69 as IconMindmap,
197
+ default70 as IconMinetest,
198
+ default71 as IconMinibadge,
199
+ default72 as IconMonorientationenligne,
200
+ default73 as IconMonstageenligne,
201
+ default74 as IconMoodle,
202
+ default75 as IconMuseefrancaisphoto,
203
+ default76 as IconMyNetwork,
204
+ default77 as IconNabook,
205
+ default78 as IconNetvibes,
206
+ default79 as IconNote,
207
+ default80 as IconNotebook,
208
+ default81 as IconNotes,
209
+ default82 as IconOnisep,
210
+ default83 as IconOnisep2,
211
+ default84 as IconPad,
212
+ default85 as IconPages,
213
+ default86 as IconParametrage,
214
+ default87 as IconParametrages,
215
+ default88 as IconParaschool,
216
+ default89 as IconParcours,
217
+ default90 as IconPearltrees,
218
+ default91 as IconPicardieCursus,
219
+ default92 as IconPlaceholder,
220
+ default93 as IconPoll,
221
+ default94 as IconPresences,
222
+ default95 as IconProeps,
223
+ default96 as IconPronote,
224
+ default97 as IconPublic,
225
+ default99 as IconQwant,
226
+ default98 as IconQwantJunior,
227
+ default100 as IconRack,
228
+ default101 as IconRbs,
229
+ default102 as IconResidenceArtiste,
230
+ default103 as IconRessourcesdepartementale91,
231
+ default104 as IconSacoche,
232
+ default105 as IconSchoolbook,
233
+ default106 as IconScolinfo,
234
+ default107 as IconScrapbook,
235
+ default108 as IconSearchengine,
236
+ default109 as IconSettingsClass,
237
+ default110 as IconSharebigfiles,
238
+ default111 as IconStatistics,
239
+ default112 as IconStats,
240
+ default113 as IconSuitcase,
241
+ default114 as IconSupport,
242
+ default115 as IconTimeline,
243
+ default116 as IconTimelinegenerator,
244
+ default117 as IconTurboself,
245
+ default118 as IconUniversalis,
246
+ default119 as IconUnstagepourtous,
247
+ default120 as IconUserbook,
248
+ default121 as IconVideo,
249
+ default122 as IconVieScolaire,
250
+ default123 as IconVisioconf,
251
+ default124 as IconVotil,
252
+ default125 as IconWebclasseur,
253
+ default126 as IconWebsite,
254
+ default127 as IconWiki,
255
+ default128 as IconWorkspace
254
256
  };
package/dist/index.js CHANGED
@@ -126,6 +126,7 @@ import { Layout } from "./components/Layout/Layout.js";
126
126
  import { List } from "./components/List/List.js";
127
127
  import { Menu } from "./components/Menu/components/Menu.js";
128
128
  import { MockedProvider } from "./providers/MockedProvider/MockedProvider.js";
129
+ import { Pagination } from "./components/Pagination/Pagination.js";
129
130
  import { Popover, PopoverBody, PopoverFooter, PopoverHeader } from "./components/Popover/Popover.js";
130
131
  import { ResourceModal } from "./modules/modals/ResourceModal/ResourceModal.js";
131
132
  import { Tabs } from "./components/Tabs/components/Tabs.js";
@@ -210,6 +211,7 @@ export {
210
211
  MockedProvider,
211
212
  default43 as Modal,
212
213
  default44 as OnboardingModal,
214
+ Pagination,
213
215
  Popover,
214
216
  PopoverBody,
215
217
  PopoverFooter,
@@ -48,7 +48,7 @@ const EditorPreview = ({
48
48
  }), children: t("editor.preview.moreMedia", {
49
49
  mediaCount: medias.length - (index + 1)
50
50
  }) })
51
- ] }, media.url)) })
51
+ ] }, `${index}-${media.url}`)) })
52
52
  ] });
53
53
  };
54
54
  export {
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconLivretScolaire: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconLivretScolaire;
@@ -0,0 +1,13 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconLivretScolaire = ({
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 50 50", "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.503 30.62a1.76 1.76 0 0 0-2.489-.035l-1.979 1.926-1.926-1.979a1.76 1.76 0 0 0-2.489-.035 1.763 1.763 0 0 0-.035 2.49l1.926 1.978-1.979 1.926a1.763 1.763 0 0 0-.035 2.489c.343.356.805.532 1.262.532a1.74 1.74 0 0 0 1.227-.497l1.979-1.926 1.926 1.979c.343.356.805.532 1.262.532a1.74 1.74 0 0 0 1.227-.497c.695-.677.712-1.79.035-2.489l-1.926-1.979 1.979-1.926c.695-.677.712-1.79.035-2.489M30.497 19.38c.343.356.805.532 1.262.532a1.74 1.74 0 0 0 1.227-.497l1.979-1.926 1.926 1.979c.343.356.805.532 1.262.532a1.74 1.74 0 0 0 1.227-.497c.695-.677.712-1.79.035-2.489l-1.926-1.979 1.979-1.926c.694-.677.712-1.79.035-2.489a1.76 1.76 0 0 0-2.489-.035l-1.979 1.926-1.926-1.979a1.76 1.76 0 0 0-2.489-.035 1.763 1.763 0 0 0-.035 2.49l1.926 1.978-1.979 1.926a1.763 1.763 0 0 0-.035 2.489" }),
9
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", d: "M44.222 4H5.778C4.796 4 4 4.796 4 5.778v38.444C4 45.204 4.796 46 5.778 46h38.444c.982 0 1.778-.796 1.778-1.778V5.778C46 4.796 45.204 4 44.222 4m-1.778 19.222H26.778V7.556h15.666zM7.556 7.556h15.666v15.666H7.556zm0 19.222h15.666v15.666H7.556zm34.888 15.666H26.778V26.778h15.666z" })
10
+ ] });
11
+ export {
12
+ SvgIconLivretScolaire as default
13
+ };
@@ -57,6 +57,7 @@ export { default as IconLeSiteTv } from './IconLeSiteTv';
57
57
  export { default as IconLemonde } from './IconLemonde';
58
58
  export { default as IconLesechos } from './IconLesechos';
59
59
  export { default as IconLibrary } from './IconLibrary';
60
+ export { default as IconLivretScolaire } from './IconLivretScolaire';
60
61
  export { default as IconLool } from './IconLool';
61
62
  export { default as IconLsu } from './IconLsu';
62
63
  export { default as IconMadmagz } from './IconMadmagz';
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { CreateParameters, CreateResult, ID, IFolder, UpdateParameters, UpdateResult } from '@edifice.io/client';
3
- import { UseMutationResult } from '../../../../node_modules/@tanstack/react-query';
3
+ import { UseMutationResult } from '@tanstack/react-query';
4
4
  export interface FormInputs {
5
5
  title: string;
6
6
  description: string;
@@ -157,7 +157,7 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
157
157
  /* @__PURE__ */ jsx(Button, { form: formId, type: "submit", color: "primary", isLoading: isSubmitting, variant: "filled", disabled: !isValid || isSubmitting, children: isCreating ? customT.create ?? t("explorer.create") : customT.save ?? t("save") })
158
158
  ] }),
159
159
  /* @__PURE__ */ jsx(MediaLibrary, { appCode: application, ref: mediaLibraryRef, multiple: !1, visibility: "protected", ...mediaLibraryHandlers })
160
- ] }), document.getElementById("portal"));
160
+ ] }), document.getElementById("portal") || document.body);
161
161
  };
162
162
  export {
163
163
  ResourceModal
@@ -1,5 +1,5 @@
1
1
  import { UpdateParameters, UpdateResult } from '@edifice.io/client';
2
- import { UseMutationOptions, UseMutationResult } from '../../../../../node_modules/@tanstack/react-query';
2
+ import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
3
  declare const useUpdateMutation: ({ application, options, }: {
4
4
  application: string;
5
5
  options?: UseMutationOptions<UpdateResult, Error, UpdateParameters>;
@@ -1,5 +1,5 @@
1
1
  import { ID, PutShareResponse, RightStringified, ShareRight, ShareRightAction, ShareRightActionDisplayName, ShareUrls } from '@edifice.io/client';
2
- import { UseMutationResult } from '../../../../node_modules/@tanstack/react-query';
2
+ import { UseMutationResult } from '@tanstack/react-query';
3
3
  /**
4
4
  * Configuration options for sharing a resource
5
5
  *
@@ -118,21 +118,11 @@ interface ShareResourceProps {
118
118
  classNameSearchInput?: string;
119
119
  }
120
120
  /**
121
- * Ref interface exposed by ShareResources component
121
+ * Ref interface exposed by ShareResources component.
122
+ * Use useRef with this type and call ref.current?.handleShare() to trigger share programmatically.
122
123
  *
123
124
  * @interface ShareResourcesRef
124
125
  * @property {() => void} handleShare - Method to trigger the share operation
125
- *
126
- * @example
127
- * ```tsx
128
- * const ref = useRef<ShareResourcesRef>(null);
129
- *
130
- * // Trigger share programmatically
131
- * ref.current?.handleShare();
132
- *
133
- * // Check sharing status
134
- * const sharing = ref.current?.isSharing();
135
- * ```
136
126
  */
137
127
  export interface ShareResourcesRef {
138
128
  handleShare: (notify?: boolean) => void;
@@ -142,46 +132,7 @@ export interface ShareResourcesRef {
142
132
  *
143
133
  * A component for managing resource sharing permissions with users and groups.
144
134
  * Provides search functionality, bookmark management, and granular rights control.
145
- *
146
- * @example
147
- * ```tsx
148
- * import { useRef } from 'react';
149
- * import ShareResources, { ShareResourcesRef, ShareOptions } from './ShareResources';
150
- *
151
- * function MyComponent() {
152
- * const shareRef = useRef<ShareResourcesRef>(null);
153
- *
154
- * const shareOptions: ShareOptions = {
155
- * resourceId: '123',
156
- * resourceRights: [],
157
- * resourceCreatorId: 'user-456',
158
- * filteredActions: ['read', 'contrib'],
159
- * urls: {
160
- * getResourceRights: '/api/share/rights',
161
- * putResourceRights: '/api/share/update'
162
- * }
163
- * };
164
- *
165
- * const handleSave = () => {
166
- * if (shareRef.current) {
167
- * shareRef.current.handleShare();
168
- * }
169
- * };
170
- *
171
- * return (
172
- * <>
173
- * <ShareResources
174
- * ref={shareRef}
175
- * shareOptions={shareOptions}
176
- * onSuccess={() => console.log('Shared successfully')}
177
- * onChange={(rights, isDirty) => console.log('Rights changed:', isDirty)}
178
- * onSubmit={(isSubmitting) => console.log('Submitting share...', isSubmitting)}
179
- * />
180
- * <button onClick={handleSave}>Save Changes</button>
181
- * </>
182
- * );
183
- * }
184
- * ```
135
+ * Use forwardRef to get a ref with handleShare(). See ShareResourcesRef interface.
185
136
  *
186
137
  * @component
187
138
  * @forwardRef
@@ -1,5 +1,5 @@
1
1
  import { ID, UpdateParameters, UpdateResult } from '@edifice.io/client';
2
- import { UseMutationResult } from '../../../../../node_modules/@tanstack/react-query';
2
+ import { UseMutationResult } from '@tanstack/react-query';
3
3
  export type PublicationType = 'RESTRAINT' | 'IMMEDIATE' | undefined;
4
4
  export interface ShareBlogProps {
5
5
  resourceId: ID;
@@ -35,7 +35,8 @@ const useShareBookmark = ({
35
35
  ...shareRights,
36
36
  visibleBookmarks: [...shareRights.visibleBookmarks, {
37
37
  displayName: name,
38
- id: res.id
38
+ id: res.id,
39
+ notVisibleCount: 0
39
40
  }]
40
41
  }
41
42
  }), setBookmark((prev) => ({
@@ -1,5 +1,5 @@
1
1
  import { PutShareResponse, ShareRight } from '@edifice.io/client';
2
- import { UseMutationOptions, UseMutationResult } from '../../../../../node_modules/@tanstack/react-query';
2
+ import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
3
3
  declare const useShareMutation: ({ application, options, }: {
4
4
  application: string;
5
5
  options?: UseMutationOptions<PutShareResponse, Error, {
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState } from "react";
3
- import { Stage } from "@pixi/react";
2
+ import { useState, useEffect, useRef, useCallback } from "react";
3
+ import * as PIXI from "pixi.js";
4
4
  import { useTranslation } from "react-i18next";
5
5
  import useImageEditor from "../hooks/useImageEditor.js";
6
6
  import ImageEditorToolbar from "./ImageEditorToolbar.js";
@@ -21,7 +21,11 @@ const ImageEditor = ({
21
21
  }) => {
22
22
  const {
23
23
  t
24
- } = useTranslation(), [currentOperation, setCurrentOperation] = useState(void 0), [isSaving, setSaving] = useState(!1), [altText, setAltText] = useState(altTextParam ?? ""), [legend, setLegend] = useState(legendParam ?? ""), [dirty, setDirty] = useState(!1), {
24
+ } = useTranslation(), [currentOperation, setCurrentOperation] = useState(void 0), [isSaving, setSaving] = useState(!1), [altText, setAltText] = useState(altTextParam ?? ""), [legend, setLegend] = useState(legendParam ?? ""), [dirty, setDirty] = useState(!1);
25
+ useEffect(() => {
26
+ setAltText(altTextParam ?? ""), setLegend(legendParam ?? ""), setDirty(!1);
27
+ }, [altTextParam, legendParam]);
28
+ const {
25
29
  toBlob,
26
30
  setApplication,
27
31
  startBlur,
@@ -36,7 +40,21 @@ const ImageEditor = ({
36
40
  loading
37
41
  } = useImageEditor({
38
42
  imageSrc
39
- }), stopAll = () => {
43
+ }), appRef = useRef(null), containerRef = useCallback((node) => {
44
+ if (node && !appRef.current) {
45
+ const app = new PIXI.Application();
46
+ appRef.current = app, app.init({
47
+ backgroundAlpha: 0,
48
+ resolution: 1,
49
+ preserveDrawingBuffer: !0
50
+ }).then(() => {
51
+ appRef.current === app && (node.appendChild(app.canvas), setApplication(app));
52
+ }).catch(() => {
53
+ appRef.current === app && (appRef.current = null);
54
+ });
55
+ }
56
+ !node && appRef.current && (appRef.current.destroy(!0), appRef.current = null);
57
+ }, [setApplication]), stopAll = () => {
40
58
  stopBlur(), stopCrop(currentOperation === "CROP"), stopResize(currentOperation === "RESIZE");
41
59
  }, handleSave = async () => {
42
60
  try {
@@ -83,12 +101,8 @@ const ImageEditor = ({
83
101
  /* @__PURE__ */ jsx(Modal.Body, { className: "d-flex flex-column align-items-center", children: /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column gap-12 w-100 flex-grow-1", children: [
84
102
  /* @__PURE__ */ jsx(ImageEditorToolbar, { handle: handleOperation, historyCount }),
85
103
  /* @__PURE__ */ jsxs("div", { className: "position-relative d-flex flex-column align-items-center justify-content-center flex-grow-1 w-100 image-editor", children: [
86
- /* @__PURE__ */ jsx(Stage, { onMount: (app) => setApplication(app), options: {
87
- preserveDrawingBuffer: !0,
88
- backgroundAlpha: 0,
89
- resolution: 1
90
- } }),
91
- !!loading && /* @__PURE__ */ jsx("div", { className: "position-absolute top-0 start-0 bottom-0 end-0 m-10 d-flex align-items-center justify-content-center bg-black opacity-25", children: /* @__PURE__ */ jsx(LoadingScreen, {}) })
104
+ /* @__PURE__ */ jsx("div", { ref: containerRef, className: "d-flex justify-content-center w-100" }),
105
+ loading && /* @__PURE__ */ jsx("div", { className: "position-absolute top-0 start-0 bottom-0 end-0 m-10 d-flex align-items-center justify-content-center bg-black opacity-25", children: /* @__PURE__ */ jsx(LoadingScreen, {}) })
92
106
  ] }),
93
107
  /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-md-row m-10 gap-12 w-100", children: [
94
108
  /* @__PURE__ */ jsxs(FormControl, { id: "alt", className: "flex-grow-1", children: [