@edifice.io/react 2.5.18 → 2.5.19-develop-pedago.20260513133752

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 (65) 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.js +1 -1
  4. package/dist/components/Form/FormControl.js +1 -1
  5. package/dist/components/Layout/components/Header.js +7 -0
  6. package/dist/components/Layout/components/WidgetApps.js +1 -1
  7. package/dist/components/Layout/hooks/useHeader.js +3 -2
  8. package/dist/components/Modal/Modal.js +1 -1
  9. package/dist/components/PreventPropagation/PreventPropagation.js +1 -1
  10. package/dist/components/PromotionCard/PromotionCard.js +1 -1
  11. package/dist/components/SearchBar/SearchBar.d.ts +2 -2
  12. package/dist/components/Table/components/Table.js +1 -1
  13. package/dist/components/UserRightsList/UserRightsBookmarkRow.js +1 -1
  14. package/dist/components/UserRightsList/UserRightsItem.js +1 -1
  15. package/dist/components/UserRightsList/UserRightsList.js +1 -1
  16. package/dist/components/UserRightsList/types/types.d.ts +6 -1
  17. package/dist/hooks/useConf/useConf.d.ts +1 -1
  18. package/dist/hooks/useDropdown/useDropdown.js +2 -0
  19. package/dist/hooks/useSession/useSession.d.ts +1 -1
  20. package/dist/hooks/useThumbnail/useThumbnail.d.ts +1 -1
  21. package/dist/hooks/useThumbnail/useThumbnail.js +5 -1
  22. package/dist/hooks/useUpload/useUpload.js +2 -5
  23. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.d.ts +12 -0
  24. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +1 -1
  25. package/dist/modules/editor/components/Editor/EditorPreview.js +1 -1
  26. package/dist/modules/icons/components/nav/IconCommunities.js +1 -1
  27. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
  28. package/dist/modules/modals/ResourceModal/ResourceModal.js +1 -1
  29. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
  30. package/dist/modules/modals/ShareModal/ShareResources.d.ts +4 -53
  31. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
  32. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +2 -1
  33. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
  34. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +24 -10
  35. package/dist/modules/multimedia/ImageEditor/effects/blur.d.ts +7 -5
  36. package/dist/modules/multimedia/ImageEditor/effects/blur.js +26 -18
  37. package/dist/modules/multimedia/ImageEditor/effects/constants.d.ts +2 -0
  38. package/dist/modules/multimedia/ImageEditor/effects/constants.js +4 -0
  39. package/dist/modules/multimedia/ImageEditor/effects/crop.d.ts +4 -5
  40. package/dist/modules/multimedia/ImageEditor/effects/crop.js +42 -26
  41. package/dist/modules/multimedia/ImageEditor/effects/misc.d.ts +10 -16
  42. package/dist/modules/multimedia/ImageEditor/effects/misc.js +27 -12
  43. package/dist/modules/multimedia/ImageEditor/effects/resize.d.ts +3 -7
  44. package/dist/modules/multimedia/ImageEditor/effects/resize.js +31 -22
  45. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +2 -3
  46. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +40 -41
  47. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.d.ts +1 -1
  48. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +9 -3
  49. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +4 -1
  50. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.d.ts +13 -1
  51. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +22 -6
  52. package/dist/modules/multimedia/LinkerCard/LinkerCard._.d.ts +1 -1
  53. package/dist/modules/multimedia/LinkerCard/LinkerCard.d.ts +8 -5
  54. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +2 -6
  55. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +1 -0
  56. package/dist/modules/multimedia/UploadCard/UploadCard._.d.ts +1 -1
  57. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +4 -4
  58. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js +1 -1
  59. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isToday.js +1 -1
  60. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/localeData.js +1 -1
  61. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/weekday.js +1 -1
  62. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
  63. package/dist/utilities/react-query/react-query-utils.d.ts +1 -1
  64. package/package.json +52 -53
  65. package/dist/modules/multimedia/FileCard/FileCard._.d.ts +0 -17
@@ -1,8 +1,7 @@
1
1
  import { useState, useEffect } from "react";
2
- import "@pixi/mixin-get-child-by-name";
3
2
  import useHistoryTool from "./useHistoryTool.js";
4
3
  import useImageEffects from "./useImageEffects.js";
5
- import { updateImage, DEFAULT_SPRITE_NAME, saveAsBlob, saveAsDataURL, updateImageFromBlob } from "../effects/misc.js";
4
+ import { updateImage, DEFAULT_SPRITE_NAME, saveAsBlob, saveAsDataURL, autoResize, updateImageFromBlob } from "../effects/misc.js";
6
5
  function useImageEditor({
7
6
  imageSrc,
8
7
  spriteName = DEFAULT_SPRITE_NAME
@@ -47,7 +46,14 @@ function useImageEditor({
47
46
  spriteName,
48
47
  imgDatasource: imageSrc
49
48
  }).finally(() => setLoading(!1)));
50
- }, [application, imageSrc, spriteName]), {
49
+ }, [application, imageSrc, spriteName]), useEffect(() => {
50
+ if (!application) return;
51
+ const handleResize = () => {
52
+ const sprite = application.stage.getChildByLabel(spriteName, !0);
53
+ sprite && autoResize(application, sprite);
54
+ };
55
+ return window.addEventListener("resize", handleResize), () => window.removeEventListener("resize", handleResize);
56
+ }, [application, spriteName]), {
51
57
  historyCount,
52
58
  setApplication,
53
59
  restore,
@@ -20,7 +20,10 @@ function useImageEffects({
20
20
  if (application) {
21
21
  if (save$12) {
22
22
  const result = save(application);
23
- result && onSave(result);
23
+ if (result) {
24
+ onSave(result);
25
+ return;
26
+ }
24
27
  }
25
28
  stop(application);
26
29
  }
@@ -36,6 +36,18 @@ export interface InternalLinkerProps {
36
36
  disableApplicationSelector?: boolean;
37
37
  /** Optional callback to filter resources after loading. Applied in addition to search filters. */
38
38
  resourceFilter?: (resource: ILinkedResource) => boolean;
39
+ /**
40
+ * When provided, replaces the built-in search/load logic entirely.
41
+ * Called with the current search terms and selected application whenever the search changes.
42
+ * The returned resources are displayed as-is (no additional filtering or sorting).
43
+ */
44
+ onSearch?: (search: string, application?: ApplicationOption) => Promise<ILinkedResource[]>;
45
+ /** When true, a "load more" button is shown. The caller controls this flag. */
46
+ hasMoreResources?: boolean;
47
+ /** Called when the user clicks the "load more" button. */
48
+ onLoadMore?: () => void;
49
+ /** Label for the "load more" button. Defaults to the `bbm.linker.see.more` i18n key. */
50
+ loadMoreLabel?: string;
39
51
  }
40
- export declare const InternalLinker: ({ appCode, defaultAppCode, defaultResourceId, onChange, onSelect, multiple, resourceList, applicationList, showApplicationSelector, disableApplicationSelector, resourceFilter, }: InternalLinkerProps) => import("react/jsx-runtime").JSX.Element;
52
+ export declare const InternalLinker: ({ appCode, defaultAppCode, defaultResourceId, onChange, onSelect, multiple, resourceList, applicationList, showApplicationSelector, disableApplicationSelector, resourceFilter, onSearch, hasMoreResources, onLoadMore, loadMoreLabel, }: InternalLinkerProps) => import("react/jsx-runtime").JSX.Element;
41
53
  export default InternalLinker;
@@ -10,6 +10,7 @@ import { useResourceSearch } from "../../../../hooks/useResourceSearch/useResour
10
10
  import AppIcon from "../../../../components/AppIcon/AppIcon.js";
11
11
  import Dropdown from "../../../../components/Dropdown/Dropdown.js";
12
12
  import SearchBar from "../../../../components/SearchBar/SearchBar.js";
13
+ import Button from "../../../../components/Button/Button.js";
13
14
  import EmptyScreen from "../../../../components/EmptyScreen/EmptyScreen.js";
14
15
  import { emptyScreenMapping } from "../../../../utilities/emptyscreen-mapping/emptyscreen-mapping.js";
15
16
  const InternalLinker = ({
@@ -23,7 +24,11 @@ const InternalLinker = ({
23
24
  applicationList,
24
25
  showApplicationSelector = !0,
25
26
  disableApplicationSelector = !1,
26
- resourceFilter
27
+ resourceFilter,
28
+ onSearch,
29
+ hasMoreResources,
30
+ onLoadMore,
31
+ loadMoreLabel
27
32
  }) => {
28
33
  const {
29
34
  t
@@ -39,6 +44,14 @@ const InternalLinker = ({
39
44
  return ((_a = resource.name) == null ? void 0 : _a.toLowerCase().includes(searchParam)) || ((_b = resource.creatorName) == null ? void 0 : _b.toLowerCase().includes(searchParam)) || ((_c = resource.description) == null ? void 0 : _c.toLowerCase().includes(searchParam));
40
45
  }, []), sortResources = useCallback((resources2) => resources2.sort((a, b) => a.modifiedAt < b.modifiedAt ? 1 : -1), []), loadAndDisplayResources = useCallback((search) => {
41
46
  async function load() {
47
+ if (onSearch) {
48
+ try {
49
+ setResources(await onSearch(search || "", selectedApplication));
50
+ } catch {
51
+ setResources([]);
52
+ }
53
+ return;
54
+ }
42
55
  if (resourceList) {
43
56
  let filteredResources = resourceList.filter((resource) => filterResources(resource, search));
44
57
  resourceFilter && (filteredResources = filteredResources.filter(resourceFilter)), setResources(sortResources(filteredResources));
@@ -63,7 +76,7 @@ const InternalLinker = ({
63
76
  setResources([]);
64
77
  }
65
78
  load();
66
- }, [loadResources, selectedApplication, filterResources, sortResources, resourceList, resourceFilter]), [selectedDocuments, setSelectedDocuments] = useState([]), handleOptionClick = (option) => {
79
+ }, [onSearch, loadResources, selectedApplication, filterResources, sortResources, resourceList, resourceFilter]), [selectedDocuments, setSelectedDocuments] = useState([]), handleOptionClick = (option) => {
67
80
  onChange == null || onChange(option), setSelectedApplication(option);
68
81
  }, handleSearchChange = (event) => {
69
82
  const newText = event.target.value;
@@ -121,10 +134,13 @@ const InternalLinker = ({
121
134
  /* @__PURE__ */ jsx("div", { className: "flex-grow-1 align-self-center", children: /* @__PURE__ */ jsx("form", { className: "gap-16 d-flex w-100 align-items-center px-16 py-8", onSubmit: handleSubmit, children: /* @__PURE__ */ jsx(SearchBar, { isVariant: !0, placeholder: t("search"), size: "lg", className: "w-100", disabled: !selectedApplication, onChange: handleSearchChange }) }) })
122
135
  ] }),
123
136
  /* @__PURE__ */ jsxs("div", { className: "internal-linker flex-grow-1 w-100 rounded-bottom border gap-0 overflow-auto", children: [
124
- selectedApplication && resources && resources.length > 0 && /* @__PURE__ */ jsx("div", { children: resources.map((resource) => {
125
- const isSelected = selectedDocuments.findIndex((doc) => doc.assetId === resource.assetId) >= 0;
126
- return /* @__PURE__ */ jsx(LinkerCard, { doc: resource, isSelected, onClick: () => toggleResourceSelection(resource) }, resource.path);
127
- }) }),
137
+ selectedApplication && resources && resources.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
138
+ resources.map((resource) => {
139
+ const isSelected = selectedDocuments.findIndex((doc) => doc.assetId === resource.assetId) >= 0;
140
+ return /* @__PURE__ */ jsx(LinkerCard, { doc: resource, isSelected, onClick: () => toggleResourceSelection(resource) }, resource.path);
141
+ }),
142
+ hasMoreResources && /* @__PURE__ */ jsx("div", { className: "d-grid gap-2 col-4 mx-auto my-24", children: /* @__PURE__ */ jsx(Button, { type: "button", color: "secondary", variant: "filled", onClick: onLoadMore, children: loadMoreLabel ?? t("bbm.linker.see.more") }) })
143
+ ] }),
128
144
  selectedApplication && resources && resources.length <= 0 && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-16", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"][selectedApplication == null ? void 0 : selectedApplication.application], text: t("bbm.linker.int.notfound"), className: "mt-16" }) }),
129
145
  !selectedApplication && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-32", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"].empty, text: t("bbm.linker.int.empty"), className: "mt-32" }) })
130
146
  ] })
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { default as LinkerCard } from './LinkerCard';
3
3
  declare const meta: Meta<typeof LinkerCard>;
4
4
  export default meta;
@@ -1,10 +1,13 @@
1
- import { IResource } from '@edifice.io/client';
1
+ import { ILinkedResource } from '@edifice.io/client';
2
2
  import { CardProps } from '../../../components';
3
+ /** Augments ILinkedResource with an optional pre-computed date string. */
4
+ export interface ILinkedResourceWithDate extends ILinkedResource {
5
+ /** When provided, displayed as-is instead of computing fromNow(modifiedAt). */
6
+ fromDate?: string;
7
+ }
3
8
  export interface LinkerCardProps extends CardProps {
4
- /**
5
- * Resource to render as a card
6
- * */
7
- doc: IResource;
9
+ /** Resource to render as a card */
10
+ doc: ILinkedResourceWithDate;
8
11
  }
9
12
  declare const LinkerCard: {
10
13
  ({ doc, isClickable, isSelectable, isSelected, onClick, className, }: LinkerCardProps): import("react/jsx-runtime").JSX.Element;
@@ -16,11 +16,7 @@ const LinkerCard = ({
16
16
  }) => {
17
17
  const {
18
18
  fromNow
19
- } = useDate(), {
20
- fromDate
21
- } = useMemo(() => ({
22
- fromDate: fromNow(doc.modifiedAt)
23
- }), [fromNow, doc]);
19
+ } = useDate(), displayDate = useMemo(() => doc.fromDate ?? fromNow(doc.modifiedAt), [doc.fromDate, doc.modifiedAt, fromNow]);
24
20
  return /* @__PURE__ */ jsx(Card, { className: clsx("card-linker shadow-none", className), isClickable, isSelectable, isSelected, onClick, children: /* @__PURE__ */ jsxs(Card.Body, { space: "8", children: [
25
21
  /* @__PURE__ */ jsx("div", { className: "card-image ps-8 pe-4", children: doc.thumbnail && doc.thumbnail.length > 0 ? /* @__PURE__ */ jsx(Image, { alt: "", height: 48, width: 48, src: doc.thumbnail, objectFit: "cover", className: "rounded h-full", style: {
26
22
  aspectRatio: 1 / 1
@@ -29,7 +25,7 @@ const LinkerCard = ({
29
25
  /* @__PURE__ */ jsx(Card.Text, { children: doc.name }),
30
26
  /* @__PURE__ */ jsx(Card.Text, { className: "text-black-50", children: doc == null ? void 0 : doc.creatorName })
31
27
  ] }),
32
- /* @__PURE__ */ jsx("div", { className: "d-none d-md-block text-black-50 ps-4 pe-8", children: /* @__PURE__ */ jsx(Card.Text, { children: fromDate }) }),
28
+ /* @__PURE__ */ jsx("div", { className: "d-none d-md-block text-black-50 ps-4 pe-8", children: /* @__PURE__ */ jsx(Card.Text, { children: displayDate }) }),
33
29
  doc.shared && /* @__PURE__ */ jsx("div", { className: "ps-4 pe-8", children: /* @__PURE__ */ jsx(SvgIconUsers, { width: "20", height: "20" }) })
34
30
  ] }) });
35
31
  };
@@ -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
  };
@@ -1,4 +1,4 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { default as UploadCard } from './UploadCard';
3
3
  declare const meta: Meta<typeof UploadCard>;
4
4
  export default meta;
@@ -1,10 +1,10 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { customSize } from "@edifice.io/utilities";
3
- import { useRef, useEffect } from "react";
3
+ import { useRef, useEffect, Suspense, lazy } from "react";
4
4
  import useUploadFiles from "../../../hooks/useUploadFiles/useUploadFiles.js";
5
5
  import UploadCard from "../UploadCard/UploadCard.js";
6
- import ImageEditor from "../ImageEditor/components/ImageEditor.js";
7
- const UploadFiles = ({
6
+ import LoadingScreen from "../../../components/LoadingScreen/LoadingScreen.js";
7
+ const ImageEditor = /* @__PURE__ */ lazy(async () => await import("../ImageEditor/components/ImageEditor.js")), UploadFiles = ({
8
8
  onFilesChange,
9
9
  visibility = "protected"
10
10
  }) => {
@@ -48,7 +48,7 @@ const UploadFiles = ({
48
48
  const resource = uploadedFiles.find((uploadedFile) => uploadedFile.name === file.name);
49
49
  return /* @__PURE__ */ jsx(UploadCard, { status: getUploadStatus(file), item: renderItem(file), onEdit: () => setEditingImage(resource), onRetry: () => uploadFile(file), onDelete: () => handleRemoveFile(file) }, file.name);
50
50
  }),
51
- editingImage && /* @__PURE__ */ jsx(ImageEditor, { altText: editingImage.alt, legend: editingImage.title, image: getUrl(editingImage, !0), isOpen: !!editingImage, onCancel: () => setEditingImage(void 0), onSave: updateImage, onError: console.error })
51
+ editingImage && /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingScreen, { position: !1 }), children: /* @__PURE__ */ jsx(ImageEditor, { altText: editingImage.alt, legend: editingImage.title, image: getUrl(editingImage, !0), isOpen: !!editingImage, onCancel: () => setEditingImage(void 0), onSave: updateImage, onError: console.error }) })
52
52
  ] });
53
53
  };
54
54
  export {
@@ -1,6 +1,6 @@
1
1
  import { commonjsGlobal, getDefaultExportFromCjs } from "../../../../../../_virtual/_commonjsHelpers.js";
2
2
  import { __module as isSameOrAfter$1 } from "../../../../../../_virtual/isSameOrAfter.js";
3
- (function(module, exports$1) {
3
+ (function(module, exports) {
4
4
  (function(e, t) {
5
5
  module.exports = t();
6
6
  })(commonjsGlobal, function() {
@@ -1,6 +1,6 @@
1
1
  import { commonjsGlobal, getDefaultExportFromCjs } from "../../../../../../_virtual/_commonjsHelpers.js";
2
2
  import { __module as isToday$1 } from "../../../../../../_virtual/isToday.js";
3
- (function(module, exports$1) {
3
+ (function(module, exports) {
4
4
  (function(e, o) {
5
5
  module.exports = o();
6
6
  })(commonjsGlobal, function() {
@@ -1,6 +1,6 @@
1
1
  import { commonjsGlobal, getDefaultExportFromCjs } from "../../../../../../_virtual/_commonjsHelpers.js";
2
2
  import { __module as localeData$1 } from "../../../../../../_virtual/localeData.js";
3
- (function(module, exports$1) {
3
+ (function(module, exports) {
4
4
  (function(n, e) {
5
5
  module.exports = e();
6
6
  })(commonjsGlobal, function() {
@@ -1,6 +1,6 @@
1
1
  import { commonjsGlobal, getDefaultExportFromCjs } from "../../../../../../_virtual/_commonjsHelpers.js";
2
2
  import { __module as weekday$1 } from "../../../../../../_virtual/weekday.js";
3
- (function(module, exports$1) {
3
+ (function(module, exports) {
4
4
  (function(e, t) {
5
5
  module.exports = t();
6
6
  })(commonjsGlobal, function() {
@@ -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.18",
3
+ "version": "2.5.19-develop-pedago.20260513133752",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -73,13 +73,11 @@
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
- "@pixi/mixin-get-child-by-name": "7.4.2",
82
- "@pixi/react": "7.1.2",
83
81
  "@popperjs/core": "2.11.8",
84
82
  "@tiptap/core": "2.11.0",
85
83
  "@tiptap/extension-blockquote": "2.11.0",
@@ -118,66 +116,66 @@
118
116
  "@tiptap/pm": "2.11.0",
119
117
  "@tiptap/react": "2.11.0",
120
118
  "@tiptap/starter-kit": "2.11.0",
121
- "@uidotdev/usehooks": "^2.4.1",
122
- "antd": "^5.29.1",
123
- "clsx": "^2.1.1",
119
+ "@uidotdev/usehooks": "2.4.1",
120
+ "antd": "5.29.1",
121
+ "clsx": "2.1.1",
124
122
  "dayjs": "1.11.19",
125
- "emoji-picker-react": "4.5.2",
123
+ "emoji-picker-react": "4.17.4",
126
124
  "heic-to": "1.4.2",
127
125
  "html-react-parser": "4.2.1",
128
126
  "ohash": "1.1.3",
129
127
  "pako": "2.1.0",
130
- "pixi.js": "7.4.2",
131
- "react-hot-toast": "^2.4.1",
128
+ "pixi.js": "8.15.0",
129
+ "react-hot-toast": "2.6.0",
132
130
  "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.18",
139
- "@edifice.io/tiptap-extensions": "2.5.18",
140
- "@edifice.io/utilities": "2.5.18"
131
+ "react-pdf": "10.3.0",
132
+ "react-popper": "2.3.0",
133
+ "react-slugify": "3.0.3",
134
+ "swiper": "10.1.0",
135
+ "ua-parser-js": "1.0.36",
136
+ "@edifice.io/bootstrap": "2.5.19-develop-pedago.20260513133752",
137
+ "@edifice.io/utilities": "2.5.19-develop-pedago.20260513133752",
138
+ "@edifice.io/tiptap-extensions": "2.5.19-develop-pedago.20260513133752"
141
139
  },
142
140
  "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",
141
+ "@babel/plugin-transform-react-pure-annotations": "7.27.1",
142
+ "@eslint/js": "9.39.2",
143
+ "@react-spring/web": "9.7.5",
144
+ "@svgr/cli": "8.1.0",
145
+ "@tanstack/query-core": "5.90.20",
148
146
  "@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",
147
+ "@testing-library/jest-dom": "6.5.0",
148
+ "@testing-library/react": "16.0.1",
149
+ "@testing-library/user-event": "14.5.2",
150
+ "@types/node": "22.19.8",
151
+ "@types/pako": "2.0.4",
152
+ "@types/react": "18.3.27",
153
+ "@types/react-dom": "18.3.7",
154
+ "@types/ua-parser-js": "0.7.37",
155
+ "@vitejs/plugin-react": "4.7.0",
156
+ "eslint": "9.39.2",
159
157
  "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",
158
+ "eslint-plugin-react-refresh": "0.4.26",
159
+ "react": "18.3.1",
160
+ "react-dom": "18.3.1",
161
+ "react-hook-form": "7.71.1",
162
+ "react-i18next": "14.1.3",
163
+ "rollup-plugin-pure": "0.4.0",
166
164
  "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.18",
172
- "@edifice.io/config": "2.5.18"
165
+ "typescript-eslint": "8.54.0",
166
+ "vite": "5.4.14",
167
+ "vite-plugin-dts": "4.5.4",
168
+ "vite-tsconfig-paths": "5.1.4",
169
+ "@edifice.io/client": "2.5.19-develop-pedago.20260513133752",
170
+ "@edifice.io/config": "2.5.19-develop-pedago.20260513133752"
173
171
  },
174
172
  "peerDependencies": {
175
- "@react-spring/web": "^9.7.5",
173
+ "@react-spring/web": "9.7.5",
176
174
  "@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"
175
+ "react": "18.3.1",
176
+ "react-dom": "18.3.1",
177
+ "react-hook-form": "7.71.1",
178
+ "react-i18next": "14.1.3"
181
179
  },
182
180
  "publishConfig": {
183
181
  "access": "public"
@@ -186,6 +184,7 @@
186
184
  "scripts": {
187
185
  "build": "pnpm build:icons && vite build",
188
186
  "build:icons": "svgr src/modules/icons/assets --config-file ./svgr.config.cjs",
187
+ "build:analyze": "vite build --mode analyze",
189
188
  "fix": "eslint --fix --report-unused-disable-directives --max-warnings 0",
190
189
  "format": "pnpm run format:write && pnpm run format:check",
191
190
  "format:check": "npx prettier --check \"src/**/*.{ts,tsx}\"",
@@ -1,17 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { default as FileCard } from './FileCard';
3
- declare const meta: Meta<typeof FileCard>;
4
- export default meta;
5
- type Story = StoryObj<typeof FileCard>;
6
- export declare const Base: Story;
7
- export declare const AudioFile: Story;
8
- export declare const ImageFile: Story;
9
- export declare const VideoFile: Story;
10
- export declare const TextFile: Story;
11
- export declare const DocFile: Story;
12
- export declare const PptFile: Story;
13
- export declare const PdfFile: Story;
14
- export declare const ZipFile: Story;
15
- export declare const CsvFile: Story;
16
- export declare const XlsFile: Story;
17
- export declare const MdFile: Story;