@edifice.io/react 2.5.12-develop-integration.20260224153303 → 2.5.12-develop-enabling.20260227103812

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 (57) hide show
  1. package/dist/components/Badge/Badge.js +0 -1
  2. package/dist/components/Card/Card.js +1 -1
  3. package/dist/components/Combobox/Combobox.js +1 -1
  4. package/dist/components/Dropdown/Dropdown.js +1 -1
  5. package/dist/components/Form/FormControl.js +1 -1
  6. package/dist/components/Layout/components/WidgetApps.js +1 -1
  7. package/dist/components/Modal/Modal.js +1 -1
  8. package/dist/components/PreventPropagation/PreventPropagation.js +1 -1
  9. package/dist/components/PromotionCard/PromotionCard.js +1 -1
  10. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  11. package/dist/components/Table/components/Table.js +1 -1
  12. package/dist/hooks/useConf/useConf.d.ts +1 -1
  13. package/dist/hooks/useConversation/useConversation.js +4 -11
  14. package/dist/hooks/useDropdown/useDropdown.js +2 -0
  15. package/dist/hooks/useSession/useSession.d.ts +1 -1
  16. package/dist/hooks/useThumbnail/useThumbnail.d.ts +1 -1
  17. package/dist/hooks/useThumbnail/useThumbnail.js +5 -1
  18. package/dist/hooks/useUpload/useUpload.js +2 -5
  19. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +12 -0
  20. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +1 -1
  21. package/dist/modules/editor/components/Editor/EditorPreview.js +1 -1
  22. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
  23. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
  24. package/dist/modules/modals/ShareModal/ShareResources.d.ts +4 -53
  25. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  26. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +2 -1
  27. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
  28. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +1 -0
  29. package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/date-picker/locale/de_DE.js +2 -2
  30. package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/date-picker/locale/es_ES.js +2 -2
  31. package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/date-picker/locale/fr_FR.js +2 -2
  32. package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/date-picker/locale/it_IT.js +2 -2
  33. package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/date-picker/locale/pt_PT.js +2 -2
  34. package/dist/providers/AntThemeProvider/AntProvider.js +5 -5
  35. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
  36. package/dist/utilities/react-query/react-query-utils.d.ts +1 -1
  37. package/package.json +51 -50
  38. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/calendar/locale/de_DE.js +0 -0
  39. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/calendar/locale/es_ES.js +0 -0
  40. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/calendar/locale/fr_FR.js +0 -0
  41. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/calendar/locale/it_IT.js +0 -0
  42. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/calendar/locale/pt_PT.js +0 -0
  43. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/locale/de_DE.js +0 -0
  44. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/locale/es_ES.js +0 -0
  45. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/locale/fr_FR.js +0 -0
  46. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/locale/it_IT.js +0 -0
  47. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/locale/pt_PT.js +0 -0
  48. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/time-picker/locale/de_DE.js +0 -0
  49. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/time-picker/locale/es_ES.js +0 -0
  50. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/time-picker/locale/fr_FR.js +0 -0
  51. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/time-picker/locale/it_IT.js +0 -0
  52. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/lib/time-picker/locale/pt_PT.js +0 -0
  53. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/locale/de_DE.js +0 -0
  54. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/locale/es_ES.js +0 -0
  55. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/locale/fr_FR.js +0 -0
  56. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/locale/it_IT.js +0 -0
  57. /package/dist/node_modules/.pnpm/{antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1 → antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1}/node_modules/antd/locale/pt_PT.js +0 -0
@@ -21,7 +21,6 @@ const Badge = /* @__PURE__ */ forwardRef(({
21
21
  const colorAppClassName = getIconClass(variant.app), backgroundLightAppClassName = getBackgroundLightIconClass(variant.app), borderAppClassName = getBorderIconClass(variant.app);
22
22
  badgeColorClassName = `${colorAppClassName} ${backgroundLightAppClassName} ${borderAppClassName}`;
23
23
  }
24
- console.log(badgeColorClassName);
25
24
  const classes = clsx("badge rounded-pill", (variant.type === "content" || variant.type === "user") && "background" in variant ? "bg-gray-200" : (variant.type === "content" || variant.type === "user") && !("background" in variant) ? "border border-0" : "", variant.type === "content" && `text-${variant.level}`, variant.type === "notification" && `badge-notification bg-${variant.level} text-light border border-0`, variant.type === "user" && `badge-profile-${variant.profile.toLowerCase()}`, variant.type === "link" && "badge-link border border-0", variant.type === "chip" && "bg-gray-200", variant.type === "beta" && badgeColorClassName, className);
26
25
  return /* @__PURE__ */ jsxs("span", { ref, className: classes, ...restProps, children: [
27
26
  variant.type === "chip" && /* @__PURE__ */ jsx("div", { className: "d-flex fw-800 align-items-center", children }),
@@ -39,7 +39,7 @@ const Root = /* @__PURE__ */ forwardRef(({
39
39
  /* @__PURE__ */ jsx(Card.Header, {}),
40
40
  typeof children == "function" ? children(appCode) : children
41
41
  ] }) });
42
- }), Card = /* @__PURE__ */ Object.assign(Root, {
42
+ }), Card = Object.assign(Root, {
43
43
  Title: CardTitle,
44
44
  Text: CardText,
45
45
  Image: CardImage,
@@ -53,7 +53,7 @@ const ComboboxComponent = /* @__PURE__ */ forwardRef(({
53
53
  }, value, variant, renderInputGroup, renderSelectedItems, hasDefault: !!options.length, onFocus, onBlur, inputRef }),
54
54
  /* @__PURE__ */ jsx(Dropdown.Menu, { "data-testid": "combobox-search-menu", children: renderContent() })
55
55
  ] });
56
- }), Combobox = /* @__PURE__ */ Object.assign(ComboboxComponent, {
56
+ }), Combobox = Object.assign(ComboboxComponent, {
57
57
  Trigger: ComboboxTrigger
58
58
  });
59
59
  export {
@@ -67,7 +67,7 @@ const Root = /* @__PURE__ */ forwardRef(({
67
67
  return useEffect(() => {
68
68
  onToggle == null || onToggle(visible);
69
69
  }, [visible]), /* @__PURE__ */ jsx(DropdownContext.Provider, { value, children: /* @__PURE__ */ jsx("div", { ref, className: dropdown, children: typeof children == "function" ? children(triggerProps, itemRefs, setVisible) : children }) });
70
- }), Dropdown = /* @__PURE__ */ Object.assign(Root, {
70
+ }), Dropdown = Object.assign(Root, {
71
71
  Trigger: DropdownTrigger,
72
72
  Menu: DropdownMenu,
73
73
  Item: DropdownItem,
@@ -22,7 +22,7 @@ const Root = /* @__PURE__ */ forwardRef(({
22
22
  status
23
23
  }), [id, isOptional, isReadOnly, isRequired, status]);
24
24
  return /* @__PURE__ */ jsx(Context.Provider, { value: values, children: /* @__PURE__ */ jsx("div", { ref, className, ...restProps, children }) });
25
- }), FormControl = /* @__PURE__ */ Object.assign(Root, {
25
+ }), FormControl = Object.assign(Root, {
26
26
  Label,
27
27
  Input,
28
28
  Text: FormText
@@ -14,7 +14,7 @@ const WidgetAppsFooter = () => {
14
14
  } = useTranslation();
15
15
  return /* @__PURE__ */ jsxs("div", { className: "widget-body d-flex flex-wrap", children: [
16
16
  !bookmarkedApps.length && /* @__PURE__ */ jsx("div", { className: "text-dark", children: t("navbar.myapps.more") }),
17
- bookmarkedApps.slice(0, 6).map((app, index) => /* @__PURE__ */ jsx("a", { href: app.address, className: "bookmarked-app", target: appToOpenOnBlank.includes(app.name) || app.isExternal || app.category === "connector" ? "_blank" : void 0, rel: appToOpenOnBlank.includes(app.name) || app.isExternal || app.category === "connector" ? "noopener noreferrer" : void 0, children: /* @__PURE__ */ jsx(AppIcon, { app, size: "32" }) }, index))
17
+ bookmarkedApps.slice(0, 6).map((app, index) => /* @__PURE__ */ jsx("a", { href: app.address, className: "bookmarked-app", target: appToOpenOnBlank.includes(app.name) || app.isExternal || app.target === "_blank" ? "_blank" : void 0, rel: appToOpenOnBlank.includes(app.name) || app.isExternal || app.target === "_blank" ? "noopener noreferrer" : void 0, children: /* @__PURE__ */ jsx(AppIcon, { app, size: "32" }) }, index))
18
18
  ] });
19
19
  };
20
20
  export {
@@ -62,7 +62,7 @@ const Root = /* @__PURE__ */ forwardRef(({
62
62
  opacity: 0.65
63
63
  } })
64
64
  ] })) });
65
- }), Modal = /* @__PURE__ */ Object.assign(Root, {
65
+ }), Modal = Object.assign(Root, {
66
66
  Header: ModalHeader,
67
67
  Subtitle: ModalSubtitle,
68
68
  Body: ModalBody,
@@ -3,7 +3,7 @@ const Root = ({
3
3
  children
4
4
  }) => /* @__PURE__ */ jsx("div", { onClick: (e) => {
5
5
  e.stopPropagation();
6
- }, children }), PreventPropagation = /* @__PURE__ */ Object.assign(Root, {});
6
+ }, children }), PreventPropagation = Object.assign(Root, {});
7
7
  export {
8
8
  PreventPropagation as default
9
9
  };
@@ -17,7 +17,7 @@ const Root = ({
17
17
  borderColor,
18
18
  backgroundColor
19
19
  }, children });
20
- }, PromotionCard = /* @__PURE__ */ Object.assign(Root, {
20
+ }, PromotionCard = Object.assign(Root, {
21
21
  Header: PromotionCardHeader,
22
22
  Body: PromotionCardBody,
23
23
  Icon: PromotionCardIcon,
@@ -3,7 +3,7 @@ import { Size } from '../../types';
3
3
  /**
4
4
  * Base props shared by both SearchBar variants
5
5
  */
6
- export interface BaseProps extends Omit<React.ComponentPropsWithoutRef<'input'>, 'size'> {
6
+ interface BaseProps extends Omit<React.ComponentPropsWithoutRef<'input'>, 'size'> {
7
7
  /**
8
8
  * String or template literal key for i18next translation
9
9
  */
@@ -67,7 +67,7 @@ type DynamicSearchBar = {
67
67
  /**
68
68
  * Props for the SearchBar component
69
69
  */
70
- export type Props = DefaultSearchBar | DynamicSearchBar;
70
+ type Props = DefaultSearchBar | DynamicSearchBar;
71
71
  export type SearchBarProps = BaseProps & Props;
72
72
  /**
73
73
  * SearchBar component to handle dynamic or static search input
@@ -13,7 +13,7 @@ const Root = /* @__PURE__ */ forwardRef(({
13
13
  overflowY: "auto"
14
14
  } : {}, children: /* @__PURE__ */ jsx("table", { ref, className: "table align-middle mb-0", style: {
15
15
  overflow: maxHeight ? "visible" : "hidden"
16
- }, children }) })), Table = /* @__PURE__ */ Object.assign(Root, {
16
+ }, children }) })), Table = Object.assign(Root, {
17
17
  Thead: TableThead,
18
18
  Th: TableTh,
19
19
  Tbody: TableTbody,
@@ -1,4 +1,4 @@
1
1
  import { App, IGetConf } from '@edifice.io/client';
2
2
  export default function useConf({ appCode }: {
3
3
  appCode: App;
4
- }): import('../../../node_modules/@tanstack/react-query').UseQueryResult<IGetConf, Error>;
4
+ }): import('@tanstack/react-query').UseQueryResult<IGetConf, Error>;
@@ -3,7 +3,7 @@ import { odeServices } from "@edifice.io/client";
3
3
  import { useQuery } from "@tanstack/react-query";
4
4
  import useHasWorkflow from "../useHasWorkflow/useHasWorkflow.js";
5
5
  const useConversation = () => {
6
- const zimbraWorkflow = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"), zimbraPreauth = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"), conversationWorkflow = useHasWorkflow("org.entcore.conversation.controllers.ConversationController|view"), [msgLink, setMsgLink] = useState(""), queryParams = {
6
+ const zimbraWorkflow = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|view"), zimbraPreauth = useHasWorkflow("fr.openent.zimbra.controllers.ZimbraController|preauth"), [msgLink, setMsgLink] = useState(""), queryParams = {
7
7
  unread: !0,
8
8
  _: (/* @__PURE__ */ new Date()).getTime()
9
9
  };
@@ -12,16 +12,9 @@ const useConversation = () => {
12
12
  data: messages
13
13
  } = useQuery({
14
14
  queryKey: ["folder", "count", "inbox"],
15
- queryFn: async () => {
16
- if (zimbraWorkflow)
17
- return await odeServices.http().get("/zimbra/count/INBOX", {
18
- queryParams
19
- });
20
- if (conversationWorkflow)
21
- return await odeServices.http().get("/conversation/count/inbox", {
22
- queryParams
23
- });
24
- },
15
+ queryFn: async () => await odeServices.http().get(zimbraWorkflow ? "/zimbra/count/INBOX" : "/conversation/count/inbox", {
16
+ queryParams
17
+ }),
25
18
  staleTime: 5 * 60 * 1e3
26
19
  // 5 minutes
27
20
  }), goToMessagerie = async () => {
@@ -73,6 +73,8 @@ const useDropdown = (placement, extraTriggerKeyDownHandler, isTriggerHovered = !
73
73
  case "Space":
74
74
  if (!openOnSpace)
75
75
  break;
76
+ openDropdown(), flag = !0;
77
+ break;
76
78
  case "Enter":
77
79
  case "ArrowDown":
78
80
  case "Down":
@@ -1,2 +1,2 @@
1
1
  import { IGetSession } from '@edifice.io/client';
2
- export default function useSession(): import('../../../node_modules/@tanstack/react-query').UseQueryResult<IGetSession, Error>;
2
+ export default function useSession(): import('@tanstack/react-query').UseQueryResult<IGetSession, Error>;
@@ -10,5 +10,5 @@ type LazyLoadOptions = {
10
10
  * with respect to the [`intersectionOptions`](https://github.com/thebuilder/react-intersection-observer/tree/dceba7f52aebea4d62d539bc55a1db129226bb6c?tab=readme-ov-file#options)
11
11
  * @return `true` if `src` is available, or false otherwise, or `null` while not tested.
12
12
  */
13
- export default function useThumbnail(src: string, options?: LazyLoadOptions): boolean | null;
13
+ export default function useThumbnail(src: string | null | undefined, options?: LazyLoadOptions): boolean | null;
14
14
  export {};
@@ -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(), {
@@ -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 {
@@ -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;
@@ -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, {
@@ -220,6 +220,7 @@ const orderedTabs = [
220
220
  ] })
221
221
  ] }) });
222
222
  });
223
+ Object.assign(MediaLibrary, InnerTabs);
223
224
  export {
224
225
  MediaLibrary as default
225
226
  };
@@ -11,12 +11,12 @@ Object.defineProperty(de_DE, "__esModule", {
11
11
  de_DE.default = void 0;
12
12
  var _de_DE = _interopRequireDefault(de_DE$1), _de_DE2 = _interopRequireDefault(de_DE$2);
13
13
  const locale = {
14
- lang: /* @__PURE__ */ Object.assign({
14
+ lang: Object.assign({
15
15
  placeholder: "Datum auswählen",
16
16
  rangePlaceholder: ["Startdatum", "Enddatum"],
17
17
  shortWeekDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
18
18
  shortMonths: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
19
19
  }, _de_DE.default),
20
- timePickerLocale: /* @__PURE__ */ Object.assign({}, _de_DE2.default)
20
+ timePickerLocale: Object.assign({}, _de_DE2.default)
21
21
  };
22
22
  de_DE.default = locale;
@@ -11,12 +11,12 @@ Object.defineProperty(es_ES, "__esModule", {
11
11
  es_ES.default = void 0;
12
12
  var _es_ES = _interopRequireDefault(es_ES$1), _es_ES2 = _interopRequireDefault(es_ES$2);
13
13
  const locale = {
14
- lang: /* @__PURE__ */ Object.assign({
14
+ lang: Object.assign({
15
15
  placeholder: "Seleccionar fecha",
16
16
  rangePlaceholder: ["Fecha inicial", "Fecha final"],
17
17
  shortWeekDays: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"],
18
18
  shortMonths: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"]
19
19
  }, _es_ES.default),
20
- timePickerLocale: /* @__PURE__ */ Object.assign({}, _es_ES2.default)
20
+ timePickerLocale: Object.assign({}, _es_ES2.default)
21
21
  };
22
22
  es_ES.default = locale;
@@ -11,7 +11,7 @@ Object.defineProperty(fr_FR, "__esModule", {
11
11
  fr_FR.default = void 0;
12
12
  var _fr_FR = _interopRequireDefault(fr_FR$1), _fr_FR2 = _interopRequireDefault(fr_FR$2);
13
13
  const locale = {
14
- lang: /* @__PURE__ */ Object.assign({
14
+ lang: Object.assign({
15
15
  placeholder: "Sélectionner une date",
16
16
  yearPlaceholder: "Sélectionner une année",
17
17
  quarterPlaceholder: "Sélectionner un trimestre",
@@ -22,6 +22,6 @@ const locale = {
22
22
  rangeMonthPlaceholder: ["Mois de début", "Mois de fin"],
23
23
  rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"]
24
24
  }, _fr_FR.default),
25
- timePickerLocale: /* @__PURE__ */ Object.assign({}, _fr_FR2.default)
25
+ timePickerLocale: Object.assign({}, _fr_FR2.default)
26
26
  };
27
27
  fr_FR.default = locale;
@@ -11,10 +11,10 @@ Object.defineProperty(it_IT, "__esModule", {
11
11
  it_IT.default = void 0;
12
12
  var _it_IT = _interopRequireDefault(it_IT$1), _it_IT2 = _interopRequireDefault(it_IT$2);
13
13
  const locale = {
14
- lang: /* @__PURE__ */ Object.assign({
14
+ lang: Object.assign({
15
15
  placeholder: "Selezionare la data",
16
16
  rangePlaceholder: ["Data d'inizio", "Data di fine"]
17
17
  }, _it_IT.default),
18
- timePickerLocale: /* @__PURE__ */ Object.assign({}, _it_IT2.default)
18
+ timePickerLocale: Object.assign({}, _it_IT2.default)
19
19
  };
20
20
  it_IT.default = locale;
@@ -11,7 +11,7 @@ Object.defineProperty(pt_PT, "__esModule", {
11
11
  pt_PT.default = void 0;
12
12
  var _pt_PT = _interopRequireDefault(pt_PT$1), _pt_PT2 = _interopRequireDefault(pt_PT$2);
13
13
  const locale = {
14
- lang: /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.assign({}, _pt_PT.default), {
14
+ lang: Object.assign(Object.assign({}, _pt_PT.default), {
15
15
  placeholder: "Data",
16
16
  rangePlaceholder: ["Data inicial", "Data final"],
17
17
  today: "Hoje",
@@ -38,7 +38,7 @@ const locale = {
38
38
  previousCentury: "Último século",
39
39
  nextCentury: "Próximo século"
40
40
  }),
41
- timePickerLocale: /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.assign({}, _pt_PT2.default), {
41
+ timePickerLocale: Object.assign(Object.assign({}, _pt_PT2.default), {
42
42
  placeholder: "Hora"
43
43
  })
44
44
  };
@@ -3,11 +3,11 @@ import { ConfigProvider } from "antd";
3
3
  import { antTheme } from "./antThemeConfig.js";
4
4
  /* empty css */
5
5
  import { useEdificeClient } from "../EdificeClientProvider/EdificeClientProvider.hook.js";
6
- import frFR from "../../node_modules/.pnpm/antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/fr_FR.js";
7
- import deDE from "../../node_modules/.pnpm/antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/de_DE.js";
8
- import esES from "../../node_modules/.pnpm/antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/es_ES.js";
9
- import itIT from "../../node_modules/.pnpm/antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/it_IT.js";
10
- import ptPT from "../../node_modules/.pnpm/antd@5.29.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/pt_PT.js";
6
+ import frFR from "../../node_modules/.pnpm/antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/fr_FR.js";
7
+ import deDE from "../../node_modules/.pnpm/antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/de_DE.js";
8
+ import esES from "../../node_modules/.pnpm/antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/es_ES.js";
9
+ import itIT from "../../node_modules/.pnpm/antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/it_IT.js";
10
+ import ptPT from "../../node_modules/.pnpm/antd@5.29.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/antd/locale/pt_PT.js";
11
11
  const antdLocaleMap = {
12
12
  fr: frFR,
13
13
  de: deDE,
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { App, IGetConf, IGetSession, IUserDescription, IUserInfo, IWebApp, UserProfile } from '@edifice.io/client';
3
- import { UseQueryResult } from '../../../node_modules/@tanstack/react-query';
3
+ import { UseQueryResult } from '@tanstack/react-query';
4
4
  export interface EdificeClientParams {
5
5
  alternativeApp?: boolean;
6
6
  app: App;
@@ -1,4 +1,4 @@
1
- import { InvalidateQueryFilters, QueryClient } from '../../../node_modules/@tanstack/react-query';
1
+ import { InvalidateQueryFilters, QueryClient } from '@tanstack/react-query';
2
2
  /**
3
3
  * Invalidates queries and resets infinite query data to only contain the first page.
4
4
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.5.12-develop-integration.20260224153303",
3
+ "version": "2.5.12-develop-enabling.20260227103812",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -73,10 +73,10 @@
73
73
  "dist"
74
74
  ],
75
75
  "dependencies": {
76
- "@ant-design/icons": "^5.4.0",
77
- "@dnd-kit/core": "^6.1.0",
78
- "@dnd-kit/sortable": "^8.0.0",
79
- "@dnd-kit/utilities": "^3.2.2",
76
+ "@ant-design/icons": "5.4.0",
77
+ "@dnd-kit/core": "6.3.1",
78
+ "@dnd-kit/sortable": "8.0.0",
79
+ "@dnd-kit/utilities": "3.2.2",
80
80
  "@floating-ui/react": "0.26.0",
81
81
  "@pixi/mixin-get-child-by-name": "7.4.2",
82
82
  "@pixi/react": "7.1.2",
@@ -118,66 +118,66 @@
118
118
  "@tiptap/pm": "2.11.0",
119
119
  "@tiptap/react": "2.11.0",
120
120
  "@tiptap/starter-kit": "2.11.0",
121
- "@uidotdev/usehooks": "^2.4.1",
122
- "antd": "^5.29.1",
123
- "clsx": "^2.1.1",
121
+ "@uidotdev/usehooks": "2.4.1",
122
+ "antd": "5.29.1",
123
+ "clsx": "2.1.1",
124
124
  "dayjs": "1.11.19",
125
- "emoji-picker-react": "4.5.2",
125
+ "emoji-picker-react": "4.17.4",
126
126
  "heic2any": "0.0.4",
127
127
  "html-react-parser": "4.2.1",
128
128
  "ohash": "1.1.3",
129
129
  "pako": "2.1.0",
130
130
  "pixi.js": "7.4.2",
131
- "react-hot-toast": "^2.4.1",
131
+ "react-hot-toast": "2.6.0",
132
132
  "react-intersection-observer": "9.5.3",
133
- "react-popper": "^2.3.0",
134
- "react-slugify": "^3.0.3",
135
- "swiper": "^10.1.0",
136
- "ua-parser-js": "^1.0.36",
137
- "react-pdf": "10.2.0",
138
- "@edifice.io/bootstrap": "2.5.12-develop-integration.20260224153303",
139
- "@edifice.io/tiptap-extensions": "2.5.12-develop-integration.20260224153303",
140
- "@edifice.io/utilities": "2.5.12-develop-integration.20260224153303"
133
+ "react-pdf": "10.3.0",
134
+ "react-popper": "2.3.0",
135
+ "react-slugify": "3.0.3",
136
+ "swiper": "10.1.0",
137
+ "ua-parser-js": "1.0.36",
138
+ "@edifice.io/bootstrap": "2.5.12-develop-enabling.20260227103812",
139
+ "@edifice.io/tiptap-extensions": "2.5.12-develop-enabling.20260227103812",
140
+ "@edifice.io/utilities": "2.5.12-develop-enabling.20260227103812"
141
141
  },
142
142
  "devDependencies": {
143
- "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
144
- "@eslint/js": "^9.12.0",
145
- "@react-spring/web": "^9.7.5",
146
- "@svgr/cli": "^8.1.0",
147
- "@tanstack/query-core": "5.62.7",
143
+ "@babel/plugin-transform-react-pure-annotations": "7.27.1",
144
+ "@eslint/js": "9.39.2",
145
+ "@react-spring/web": "9.7.5",
146
+ "@svgr/cli": "8.1.0",
147
+ "@tanstack/query-core": "5.90.20",
148
148
  "@tanstack/react-query": "5.62.7",
149
- "@testing-library/jest-dom": "^6.5.0",
150
- "@testing-library/react": "^16.0.1",
151
- "@testing-library/user-event": "^14.5.2",
152
- "@types/node": "^22.9.1",
153
- "@types/pako": "^2.0.3",
154
- "@types/react": "^18.2.33",
155
- "@types/react-dom": "^18.2.14",
156
- "@types/ua-parser-js": "^0.7.37",
157
- "@vitejs/plugin-react": "^4.3.2",
158
- "eslint": "^9.12.0",
149
+ "@testing-library/jest-dom": "6.5.0",
150
+ "@testing-library/react": "16.0.1",
151
+ "@testing-library/user-event": "14.5.2",
152
+ "@types/node": "22.19.8",
153
+ "@types/pako": "2.0.4",
154
+ "@types/react": "18.3.27",
155
+ "@types/react-dom": "18.3.7",
156
+ "@types/ua-parser-js": "0.7.37",
157
+ "@vitejs/plugin-react": "4.7.0",
158
+ "eslint": "9.39.2",
159
159
  "eslint-plugin-react-hooks": "5.1.0-rc.0",
160
- "eslint-plugin-react-refresh": "^0.4.12",
161
- "react": "^18.3.1",
162
- "react-dom": "^18.3.1",
163
- "react-hook-form": "^7.53.0",
164
- "react-i18next": "^14.1.0",
165
- "rollup-plugin-pure": "^0.2.1",
160
+ "eslint-plugin-react-refresh": "0.4.26",
161
+ "react": "18.3.1",
162
+ "react-dom": "18.3.1",
163
+ "react-hook-form": "7.71.1",
164
+ "react-i18next": "14.1.3",
165
+ "rollup-plugin-pure": "0.4.0",
166
166
  "rollup-plugin-visualizer": "5.12.0",
167
- "typescript-eslint": "^8.8.1",
168
- "vite": "^5.4.11",
169
- "vite-plugin-dts": "^4.1.0",
170
- "vite-tsconfig-paths": "^5.0.1",
171
- "@edifice.io/client": "2.5.12-develop-integration.20260224153303",
172
- "@edifice.io/config": "2.5.12-develop-integration.20260224153303"
167
+ "typescript-eslint": "8.54.0",
168
+ "vite": "5.4.14",
169
+ "vite-plugin-dts": "4.5.4",
170
+ "vite-tsconfig-paths": "5.1.4",
171
+ "@edifice.io/config": "2.5.12-develop-enabling.20260227103812",
172
+ "@edifice.io/client": "2.5.12-develop-enabling.20260227103812"
173
173
  },
174
174
  "peerDependencies": {
175
- "@react-spring/web": "^9.7.5",
175
+ "@react-spring/web": "9.7.5",
176
176
  "@tanstack/react-query": "5.62.7",
177
- "react": "^18.3.1",
178
- "react-dom": "^18.3.1",
179
- "react-hook-form": "^7.53.0",
180
- "react-i18next": "^14.1.0"
177
+ "react": "18.3.1",
178
+ "react-dom": "18.3.1",
179
+ "react-hook-form": "7.71.1",
180
+ "react-i18next": "14.1.3"
181
181
  },
182
182
  "publishConfig": {
183
183
  "access": "public"
@@ -186,6 +186,7 @@
186
186
  "scripts": {
187
187
  "build": "pnpm build:icons && vite build",
188
188
  "build:icons": "svgr src/modules/icons/assets --config-file ./svgr.config.cjs",
189
+ "build:analyze": "vite build --mode analyze",
189
190
  "fix": "eslint --fix --report-unused-disable-directives --max-warnings 0",
190
191
  "format": "pnpm run format:write && pnpm run format:check",
191
192
  "format:check": "npx prettier --check \"src/**/*.{ts,tsx}\"",