@edifice.io/react 2.5.5-develop-b2school.20260121153342 → 2.5.5-develop-pedago.20260122175445

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 (77) hide show
  1. package/dist/components/Badge/Badge.d.ts +7 -4
  2. package/dist/components/Badge/Badge.js +14 -11
  3. package/dist/components/DatePicker/DatePicker.js +3 -6
  4. package/dist/components/Dropdown/DropdownContext.js +1 -1
  5. package/dist/components/Form/FormContext.js +1 -1
  6. package/dist/components/Layout/Layout.js +1 -2
  7. package/dist/components/MediaViewer/MediaViewer.d.ts +17 -0
  8. package/dist/components/MediaViewer/MediaViewer.js +36 -0
  9. package/dist/components/MediaViewer/MediaWrapper.d.ts +7 -0
  10. package/dist/components/MediaViewer/MediaWrapper.js +72 -0
  11. package/dist/components/MediaViewer/PdfViewer.d.ts +4 -0
  12. package/dist/components/MediaViewer/PdfViewer.js +26 -0
  13. package/dist/components/MediaViewer/ToolbarViewer.d.ts +7 -0
  14. package/dist/components/MediaViewer/ToolbarViewer.js +41 -0
  15. package/dist/components/MediaViewer/ToolbarZoom.d.ts +4 -0
  16. package/dist/components/MediaViewer/ToolbarZoom.js +19 -0
  17. package/dist/components/MediaViewer/index.d.ts +2 -0
  18. package/dist/components/Modal/Modal.d.ts +0 -4
  19. package/dist/components/Modal/Modal.js +12 -13
  20. package/dist/components/PromotionCard/PromotionCard.d.ts +74 -0
  21. package/dist/components/PromotionCard/PromotionCard.js +31 -0
  22. package/dist/components/PromotionCard/PromotionCardBody.d.ts +10 -0
  23. package/dist/components/PromotionCard/PromotionCardBody.js +15 -0
  24. package/dist/components/PromotionCard/PromotionCardDescription.d.ts +9 -0
  25. package/dist/components/PromotionCard/PromotionCardDescription.js +12 -0
  26. package/dist/components/PromotionCard/PromotionCardFooter.d.ts +9 -0
  27. package/dist/components/PromotionCard/PromotionCardFooter.js +12 -0
  28. package/dist/components/PromotionCard/PromotionCardHeader.d.ts +11 -0
  29. package/dist/components/PromotionCard/PromotionCardHeader.js +17 -0
  30. package/dist/components/PromotionCard/PromotionCardIcon.d.ts +10 -0
  31. package/dist/components/PromotionCard/PromotionCardIcon.js +15 -0
  32. package/dist/components/PromotionCard/PromotionCardTitle.d.ts +9 -0
  33. package/dist/components/PromotionCard/PromotionCardTitle.js +12 -0
  34. package/dist/components/PromotionCard/index.d.ts +2 -0
  35. package/dist/components/SmartEllipsis/SmartEllipsis.d.ts +5 -0
  36. package/dist/components/SmartEllipsis/SmartEllipsis.js +21 -0
  37. package/dist/components/SmartEllipsis/index.d.ts +2 -0
  38. package/dist/components/Toolbar/Toolbar.js +1 -1
  39. package/dist/components/index.d.ts +2 -0
  40. package/dist/editor.js +40 -40
  41. package/dist/hooks/useConversation/useConversation.js +1 -3
  42. package/dist/hooks/useDropdown/useDropdown.js +1 -1
  43. package/dist/hooks/useEdificeIcons/useEdificeIcons.d.ts +1 -0
  44. package/dist/hooks/useEdificeIcons/useEdificeIcons.js +5 -0
  45. package/dist/hooks/useZoom/index.d.ts +1 -0
  46. package/dist/hooks/useZoom/useZoom.d.ts +7 -0
  47. package/dist/hooks/useZoom/useZoom.js +14 -0
  48. package/dist/icons.js +356 -350
  49. package/dist/index.js +231 -226
  50. package/dist/modals.js +18 -18
  51. package/dist/modules/comments/components/Comment.js +4 -4
  52. package/dist/modules/comments/components/CommentDate.js +10 -7
  53. package/dist/modules/comments/components/CommentDeleted.js +1 -1
  54. package/dist/modules/comments/components/CommentForm.d.ts +1 -1
  55. package/dist/modules/comments/components/CommentForm.js +6 -6
  56. package/dist/modules/comments/components/CommentHeader.d.ts +3 -0
  57. package/dist/modules/comments/components/CommentHeader.js +8 -0
  58. package/dist/modules/comments/components/CommentTitle.js +1 -1
  59. package/dist/modules/comments/provider/CommentProvider.js +4 -4
  60. package/dist/modules/editor/hooks/useTipTapEditor.js +4 -4
  61. package/dist/modules/icons/components/IconAiFill.d.ts +7 -0
  62. package/dist/modules/icons/components/IconAiFill.js +12 -0
  63. package/dist/modules/icons/components/IconExercizerAi.d.ts +7 -0
  64. package/dist/modules/icons/components/IconExercizerAi.js +14 -0
  65. package/dist/modules/icons/components/IconTeacher.d.ts +7 -0
  66. package/dist/modules/icons/components/IconTeacher.js +12 -0
  67. package/dist/modules/icons/components/index.d.ts +3 -0
  68. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +5 -5
  69. package/dist/modules/modals/ResourceModal/ResourceModal.js +1 -2
  70. package/dist/modules/multimedia/FileCard/FileCard.js +1 -1
  71. package/dist/modules/multimedia/Linker/ExternalLinker/ExternalLinker.js +1 -2
  72. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +1 -2
  73. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +1 -1
  74. package/dist/multimedia.js +10 -10
  75. package/dist/providers/AntThemeProvider/antThemeConfig.js +1 -2
  76. package/package.json +7 -6
  77. package/dist/components/DatePicker/DatePicker.d.ts +0 -57
@@ -9,14 +9,17 @@ const CommentDate = ({
9
9
  fromNow
10
10
  } = useDate(), {
11
11
  t
12
- } = useTranslation();
13
- return updatedAt || createdAt ? /* @__PURE__ */ jsxs(Fragment, { children: [
12
+ } = useTranslation(), getPublishedDate = (date) => t("comment.publish.date", {
13
+ date: fromNow(date)
14
+ }), getUpdatedDate = (date) => t("comment.update.date", {
15
+ date: fromNow(date)
16
+ });
17
+ return updatedAt ? /* @__PURE__ */ jsxs(Fragment, { children: [
14
18
  /* @__PURE__ */ jsx("span", { className: "small text-gray-700", children: "|" }),
15
- /* @__PURE__ */ jsx("span", { "data-testid": "comment-info-date", className: "small text-gray-700", children: updatedAt ? ((date) => t("comment.update.date", {
16
- date: fromNow(date)
17
- }))(updatedAt) : ((date) => t("comment.publish.date", {
18
- date: fromNow(date)
19
- }))(createdAt) })
19
+ /* @__PURE__ */ jsx("span", { className: "small text-gray-700", children: getUpdatedDate(updatedAt) })
20
+ ] }) : createdAt ? /* @__PURE__ */ jsxs(Fragment, { children: [
21
+ /* @__PURE__ */ jsx("span", { className: "small text-gray-700", children: "|" }),
22
+ /* @__PURE__ */ jsx("span", { className: "small text-gray-700", children: getPublishedDate(createdAt) })
20
23
  ] }) : null;
21
24
  };
22
25
  export {
@@ -4,7 +4,7 @@ const CommentDeleted = () => {
4
4
  const {
5
5
  t
6
6
  } = useTranslation();
7
- return /* @__PURE__ */ jsx("div", { "data-testid": "div-comment-deleted", className: "border rounded-3 p-12 pb-8 d-flex gap-12 bg-gray-200 my-16", children: t("comment.deleted") });
7
+ return /* @__PURE__ */ jsx("div", { className: "border rounded-3 p-12 pb-8 d-flex gap-12 bg-gray-200 my-16", children: t("comment.deleted") });
8
8
  };
9
9
  export {
10
10
  CommentDeleted
@@ -1,4 +1,4 @@
1
1
  export declare const CommentForm: ({ userId, replyTo, }: {
2
2
  userId: string;
3
3
  replyTo?: string;
4
- }) => false | import("react/jsx-runtime").JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,11 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState } from "react";
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
3
2
  import { useTranslation } from "react-i18next";
4
3
  import SvgIconSend from "../../icons/components/IconSend.js";
5
4
  import { useAutosizeTextarea } from "../hooks/useAutosizeTextarea.js";
6
5
  import { useCommentsContext } from "../hooks/useCommentsContext.js";
7
6
  import { CommentAvatar } from "./CommentAvatar.js";
8
7
  import { TextCounter } from "./TextCounter.js";
8
+ import { useState } from "react";
9
9
  import Button from "../../../components/Button/Button.js";
10
10
  const CommentForm = ({
11
11
  userId,
@@ -22,19 +22,19 @@ const CommentForm = ({
22
22
  }, handleSubmit = () => {
23
23
  handleCreateComment(content, replyTo), setContent("");
24
24
  };
25
- return type === "edit" && /* @__PURE__ */ jsxs("div", { "data-testid": "div-comment-create", className: "border rounded-3 p-12 pb-8 d-flex gap-12 bg-gray-200 d-print-none", children: [
25
+ return /* @__PURE__ */ jsx(Fragment, { children: type === "edit" && /* @__PURE__ */ jsxs("div", { className: "border rounded-3 p-12 pb-8 d-flex gap-12 bg-gray-200", children: [
26
26
  /* @__PURE__ */ jsx(CommentAvatar, { id: userId }),
27
27
  /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill gap-4", children: [
28
- /* @__PURE__ */ jsx("textarea", { id: "add-comment", "data-testid": "comment-form", ref, value: content, className: "form-control", placeholder: t("comment.placeholder.textarea"), maxLength: options.maxCommentLength, onChange: handleChangeContent, onFocus, rows: 1, style: {
28
+ /* @__PURE__ */ jsx("textarea", { id: "add-comment", ref, value: content, className: "form-control", placeholder: t("comment.placeholder.textarea"), maxLength: options.maxCommentLength, onChange: handleChangeContent, onFocus, rows: 1, style: {
29
29
  resize: "none",
30
30
  overflow: "hidden"
31
31
  } }),
32
32
  /* @__PURE__ */ jsxs("div", { className: "d-flex justify-content-end align-items-center gap-4", children: [
33
33
  /* @__PURE__ */ jsx(TextCounter, { content, maxLength: options.maxCommentLength }),
34
- /* @__PURE__ */ jsx(Button, { "data-testid": "comment-publish", type: "submit", variant: "ghost", size: "sm", leftIcon: /* @__PURE__ */ jsx(SvgIconSend, {}), disabled: !(content != null && content.length), onClick: handleSubmit, children: t("comment.post") })
34
+ /* @__PURE__ */ jsx(Button, { type: "submit", variant: "ghost", size: "sm", leftIcon: /* @__PURE__ */ jsx(SvgIconSend, {}), disabled: !(content != null && content.length), onClick: handleSubmit, children: t("comment.post") })
35
35
  ] })
36
36
  ] })
37
- ] });
37
+ ] }) });
38
38
  };
39
39
  export {
40
40
  CommentForm
@@ -0,0 +1,3 @@
1
+ export declare const CommentHeader: ({ title }: {
2
+ title: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import Heading from "../../../components/Heading/Heading.js";
3
+ const CommentHeader = ({
4
+ title
5
+ }) => /* @__PURE__ */ jsx(Heading, { level: "h3", headingStyle: "h3", children: title });
6
+ export {
7
+ CommentHeader
8
+ };
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  const CommentTitle = ({
3
3
  children
4
- }) => /* @__PURE__ */ jsx("span", { "data-testid": "comment-info-author", className: "small text-gray-800", children });
4
+ }) => /* @__PURE__ */ jsx("span", { className: "small text-gray-800", children });
5
5
  export {
6
6
  CommentTitle
7
7
  };
@@ -1,11 +1,11 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { CommentForm } from "../components/CommentForm.js";
4
+ import { CommentHeader } from "../components/CommentHeader.js";
4
5
  import { CommentList } from "../components/CommentList.js";
5
6
  import { DEFAULT_ALLOW_REPLIES, DEFAULT_ADD_REPLIES, DEFAULT_MAX_REPLIES, DEFAULT_ADD_COMMENTS, DEFAULT_MAX_COMMENTS, DEFAULT_MAX_REPLY_LENGTH, DEFAULT_MAX_COMMENT_LENGTH } from "../constants.js";
6
7
  import { CommentContext } from "../context/Context.js";
7
8
  import { useComments } from "../hooks/useComments.js";
8
- import Heading from "../../../components/Heading/Heading.js";
9
9
  import Button from "../../../components/Button/Button.js";
10
10
  import EmptyScreen from "../../../components/EmptyScreen/EmptyScreen.js";
11
11
  const CommentProvider = ({
@@ -71,15 +71,15 @@ const CommentProvider = ({
71
71
  [displayedComments, editCommentId, profilesQueries, options]
72
72
  );
73
73
  return /* @__PURE__ */ jsx(CommentContext.Provider, { value: values, children: /* @__PURE__ */ jsxs("div", { className: "my-24", children: [
74
- /* @__PURE__ */ jsx(Heading, { "data-testid": "comments-info-count-text", level: "h3", headingStyle: "h3", className: displayedComments.length === 0 ? "d-print-none" : "", children: title }),
74
+ /* @__PURE__ */ jsx(CommentHeader, { title }),
75
75
  /* @__PURE__ */ jsxs("div", { className: "my-24", children: [
76
76
  user && /* @__PURE__ */ jsx(CommentForm, { userId: user.userId }),
77
- !profilesQueries.isLoading && /* @__PURE__ */ jsxs(Fragment, { children: [
77
+ profilesQueries.isLoading ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
78
78
  /* @__PURE__ */ jsx(CommentList, {}),
79
79
  showMoreComments && /* @__PURE__ */ jsx(Button, { variant: "ghost", color: "tertiary", onClick: handleMoreComments, className: "my-16", children: t("comment.more") })
80
80
  ] })
81
81
  ] }),
82
- !displayedComments.length && type === "edit" && /* @__PURE__ */ jsxs("div", { className: "comments-emptyscreen d-print-none", children: [
82
+ !displayedComments.length && type === "edit" && /* @__PURE__ */ jsxs("div", { className: "comments-emptyscreen", children: [
83
83
  /* @__PURE__ */ jsx("div", { className: "comments-emptyscreen-wrapper", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyscreenPath, size: 150 }) }),
84
84
  /* @__PURE__ */ jsx("p", { children: t("comment.emptyscreen") })
85
85
  ] })
@@ -27,16 +27,16 @@ import { useTranslation } from "react-i18next";
27
27
  import { useEdificeClient } from "../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
28
28
  import useUpload from "../../../hooks/useUpload/useUpload.js";
29
29
  import IframeNodeView from "../components/NodeView/IframeNodeView.js";
30
+ import MediaRenderer from "../components/Renderer/MediaRenderer.js";
30
31
  import VideoNodeView from "../components/NodeView/VideoNodeView.js";
31
32
  import AudioNodeView from "../components/NodeView/AudioNodeView.js";
33
+ import AudioRenderer from "../components/Renderer/AudioRenderer.js";
32
34
  import LinkerNodeView from "../components/NodeView/LinkerNodeView.js";
35
+ import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
33
36
  import ImageNodeView from "../components/NodeView/ImageNodeView.js";
34
37
  import AttachmentNodeView from "../components/NodeView/AttachmentNodeView.js";
35
- import InformationPaneNodeView from "../components/NodeView/InformationPaneNodeView.js";
36
- import MediaRenderer from "../components/Renderer/MediaRenderer.js";
37
- import AudioRenderer from "../components/Renderer/AudioRenderer.js";
38
- import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
39
38
  import AttachmentRenderer from "../components/Renderer/AttachmentRenderer.js";
39
+ import InformationPaneNodeView from "../components/NodeView/InformationPaneNodeView.js";
40
40
  import InformationPaneRenderer from "../components/Renderer/InformationPaneRenderer.js";
41
41
  const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected", extensions) => {
42
42
  const {
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconAiFill: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconAiFill;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconAiFill = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", d: "m12.61 21.262.585-1.344a10.35 10.35 0 0 1 5.27-5.342l1.805-.802a1.258 1.258 0 0 0 0-2.283l-1.705-.76A10.38 10.38 0 0 1 13.22 5.21l-.601-1.448a1.201 1.201 0 0 0-2.237 0l-.601 1.45a10.37 10.37 0 0 1-5.346 5.52l-1.703.757a1.258 1.258 0 0 0 0 2.285l1.802.805a10.35 10.35 0 0 1 5.273 5.34l.584 1.343a1.201 1.201 0 0 0 2.218 0M19.35 7.767l.185-.424A3.27 3.27 0 0 1 21.2 5.656l.57-.254a.398.398 0 0 0 0-.72l-.539-.24a3.28 3.28 0 0 1-1.688-1.744l-.19-.457a.38.38 0 0 0-.706 0l-.19.458a3.28 3.28 0 0 1-1.688 1.743l-.538.239a.398.398 0 0 0 0 .721l.57.254c.746.335 1.34.936 1.665 1.687l.184.424a.38.38 0 0 0 .7 0" })
9
+ ] });
10
+ export {
11
+ SvgIconAiFill as default
12
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconExercizerAi: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconExercizerAi;
@@ -0,0 +1,14 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconExercizerAi = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M6.5 5a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-8a1 1 0 1 1 2 0v8a2.5 2.5 0 0 1-2.5 2.5h-12A2.5 2.5 0 0 1 4 20.5v-15A2.5 2.5 0 0 1 6.5 3h5a1 1 0 1 1 0 2z", clipRule: "evenodd" }),
9
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M8 9a1 1 0 0 1 1-1h3a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1M8 13a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1M8 17a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1", clipRule: "evenodd" }),
10
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", d: "m18.584 10.611.308-.707a5.45 5.45 0 0 1 2.774-2.811l.95-.422a.662.662 0 0 0 0-1.202l-.898-.4a5.46 5.46 0 0 1-2.812-2.906l-.317-.762a.631.631 0 0 0-1.177 0l-.316.763a5.46 5.46 0 0 1-2.814 2.905l-.896.399a.662.662 0 0 0 0 1.203l.948.423a5.45 5.45 0 0 1 2.775 2.81l.308.707a.633.633 0 0 0 1.167 0" })
11
+ ] });
12
+ export {
13
+ SvgIconExercizerAi as default
14
+ };
@@ -0,0 +1,7 @@
1
+ import { SVGProps } from 'react';
2
+ interface SVGRProps {
3
+ title?: string;
4
+ titleId?: string;
5
+ }
6
+ declare const SvgIconTeacher: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default SvgIconTeacher;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ const SvgIconTeacher = ({
3
+ title,
4
+ titleId,
5
+ ...props
6
+ }) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", "aria-labelledby": titleId, ...props, children: [
7
+ title ? /* @__PURE__ */ jsx("title", { id: titleId, children: title }) : null,
8
+ /* @__PURE__ */ jsx("path", { fill: "currentColor", d: "M2 17.944V10q0-.89.653-1.5.653-.611 1.541-.556A14.6 14.6 0 0 1 12 11.722a14.6 14.6 0 0 1 7.806-3.778 1.99 1.99 0 0 1 1.541.556Q22 9.11 22 10v7.944q0 .89-.583 1.514-.584.626-1.473.68a17 17 0 0 0-3.444.918q-1.666.638-3.111 1.694a2.2 2.2 0 0 1-.653.375 2.2 2.2 0 0 1-.736.125q-.39 0-.736-.125a2.2 2.2 0 0 1-.653-.375Q9.167 21.695 7.5 21.056a17 17 0 0 0-3.444-.917q-.89-.056-1.473-.68A2.14 2.14 0 0 1 2 17.943M12 21a16 16 0 0 1 3.722-2.083 16.3 16.3 0 0 1 4.056-1.028v-7.667q-2.027.361-3.986 1.459-1.959 1.097-3.792 2.93-1.833-1.833-3.792-2.93t-3.986-1.459v7.667q2.084.25 4.056 1.028A16 16 0 0 1 12 21m0-12.111q-1.834 0-3.139-1.306-1.305-1.305-1.305-3.139T8.86 1.306Q10.166 0 12 0q1.833 0 3.139 1.306 1.305 1.305 1.305 3.138 0 1.834-1.305 3.14Q13.834 8.888 12 8.888m0-2.222a2.14 2.14 0 0 0 1.57-.653 2.14 2.14 0 0 0 .652-1.57 2.14 2.14 0 0 0-.653-1.569A2.14 2.14 0 0 0 12 2.222a2.14 2.14 0 0 0-1.57.653 2.14 2.14 0 0 0-.652 1.57q0 .916.653 1.569A2.14 2.14 0 0 0 12 6.667" })
9
+ ] });
10
+ export {
11
+ SvgIconTeacher as default
12
+ };
@@ -1,5 +1,6 @@
1
1
  export { default as IconAddUser } from './IconAddUser';
2
2
  export { default as IconAdd } from './IconAdd';
3
+ export { default as IconAiFill } from './IconAiFill';
3
4
  export { default as IconAlertCircle } from './IconAlertCircle';
4
5
  export { default as IconAlertTriangle } from './IconAlertTriangle';
5
6
  export { default as IconAlignCenter } from './IconAlignCenter';
@@ -42,6 +43,7 @@ export { default as IconDepositeInbox } from './IconDepositeInbox';
42
43
  export { default as IconDownload } from './IconDownload';
43
44
  export { default as IconEdit } from './IconEdit';
44
45
  export { default as IconError } from './IconError';
46
+ export { default as IconExercizerAi } from './IconExercizerAi';
45
47
  export { default as IconExternalLink } from './IconExternalLink';
46
48
  export { default as IconFiles } from './IconFiles';
47
49
  export { default as IconFilter } from './IconFilter';
@@ -141,6 +143,7 @@ export { default as IconSuccessFill } from './IconSuccessFill';
141
143
  export { default as IconSuccessOutline } from './IconSuccessOutline';
142
144
  export { default as IconSuperscript } from './IconSuperscript';
143
145
  export { default as IconTable } from './IconTable';
146
+ export { default as IconTeacher } from './IconTeacher';
144
147
  export { default as IconTextBold } from './IconTextBold';
145
148
  export { default as IconTextColor } from './IconTextColor';
146
149
  export { default as IconTextHighlight } from './IconTextHighlight';
@@ -44,7 +44,7 @@ const OnboardingModal = /* @__PURE__ */ forwardRef(({
44
44
  }, handleCloseWithoutPreference = () => {
45
45
  setIsOpen(!1), setSwiperprogress(0);
46
46
  };
47
- return /* @__PURE__ */ createPortal(/* @__PURE__ */ jsxs(Modal, { id: "onboarding-modal", "data-testid": "modal-onboarding", size: "md", isOpen, focusId: "nextButtonId", onModalClose: handleCloseWithoutPreference, children: [
47
+ return /* @__PURE__ */ createPortal(/* @__PURE__ */ jsxs(Modal, { id: "onboarding-modal", size: "md", isOpen, focusId: "nextButtonId", onModalClose: handleCloseWithoutPreference, children: [
48
48
  /* @__PURE__ */ jsx(Modal.Header, { onModalClose: handleCloseWithoutPreference, centered: !0, children: t(currentTitle || "explorer.modal.onboarding.trash.title") }),
49
49
  /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx(Swiper, { modules: [Pagination], onSwiper: (swiper) => {
50
50
  setSwiperInstance(swiper);
@@ -59,10 +59,10 @@ const OnboardingModal = /* @__PURE__ */ forwardRef(({
59
59
  } })
60
60
  ] }, index)) }) }),
61
61
  /* @__PURE__ */ jsxs(Modal.Footer, { children: [
62
- /* @__PURE__ */ jsx(Button, { "data-testid": "modal-onboarding-later", type: "button", color: "tertiary", variant: "ghost", onClick: handleCloseWithoutPreference, children: t("explorer.modal.onboarding.trash.later") }),
63
- swiperProgress > 0 && /* @__PURE__ */ jsx(Button, { "data-testid": "modal-onboarding-previous", type: "button", color: "primary", variant: "outline", onClick: () => swiperInstance.slidePrev(), children: t(prevText || "explorer.modal.onboarding.trash.prev") }),
64
- swiperProgress < 1 && /* @__PURE__ */ jsx(Button, { id: "nextButtonId", "data-testid": "modal-onboarding-next", type: "button", color: "primary", variant: "filled", onClick: () => swiperInstance.slideNext(), children: t(nextText || "explorer.modal.onboarding.trash.next") }),
65
- swiperProgress === 1 && /* @__PURE__ */ jsx(Button, { "data-testid": "modal-onboarding-close", type: "button", color: "primary", variant: "filled", onClick: () => {
62
+ /* @__PURE__ */ jsx(Button, { type: "button", color: "tertiary", variant: "ghost", onClick: handleCloseWithoutPreference, children: t("explorer.modal.onboarding.trash.later") }),
63
+ swiperProgress > 0 && /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "outline", onClick: () => swiperInstance.slidePrev(), children: t(prevText || "explorer.modal.onboarding.trash.prev") }),
64
+ swiperProgress < 1 && /* @__PURE__ */ jsx(Button, { id: "nextButtonId", type: "button", color: "primary", variant: "filled", onClick: () => swiperInstance.slideNext(), children: t(nextText || "explorer.modal.onboarding.trash.next") }),
65
+ swiperProgress === 1 && /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "filled", onClick: () => {
66
66
  isOnboarding ? handleCloseWithPreference() : handleCloseWithoutPreference();
67
67
  }, children: t(closeText || "explorer.modal.onboarding.trash.close") })
68
68
  ] })
@@ -160,6 +160,5 @@ const DEFAULT_INPUT_MAX_LENGTH = 60, DEFAULT_TEXTAREA_MAX_LENGTH = 400, Resource
160
160
  ] }), document.getElementById("portal"));
161
161
  };
162
162
  export {
163
- ResourceModal,
164
- ResourceModal as default
163
+ ResourceModal
165
164
  };
@@ -57,7 +57,7 @@ const FileCard = ({
57
57
  },
58
58
  ppt: {
59
59
  icon: ".PPT",
60
- color: "bg-yellow-200"
60
+ color: "bg-red-200"
61
61
  },
62
62
  img: {
63
63
  icon: /* @__PURE__ */ jsx(SvgIconLandscape, { width: 22, height: 22 }),
@@ -41,6 +41,5 @@ const ExternalLinker = ({
41
41
  ] }) });
42
42
  };
43
43
  export {
44
- ExternalLinker,
45
- ExternalLinker as default
44
+ ExternalLinker
46
45
  };
@@ -130,6 +130,5 @@ const InternalLinker = ({
130
130
  ] });
131
131
  };
132
132
  export {
133
- InternalLinker,
134
- InternalLinker as default
133
+ InternalLinker
135
134
  };
@@ -12,7 +12,7 @@ import SvgIconSmartphone from "../../icons/components/IconSmartphone.js";
12
12
  import { InnerTabs } from "./innertabs/index.js";
13
13
  import { MediaLibraryContext } from "./MediaLibraryContext.js";
14
14
  import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
15
- import { useHttpErrorToast } from "../../../hooks/useHttpErrorToast/useHttpErrorToast.js";
15
+ import useHttpErrorToast from "../../../hooks/useHttpErrorToast/useHttpErrorToast.js";
16
16
  import Modal from "../../../components/Modal/Modal.js";
17
17
  import { Tabs } from "../../../components/Tabs/components/Tabs.js";
18
18
  import Button from "../../../components/Button/Button.js";
@@ -1,11 +1,11 @@
1
1
  import { default as default2 } from "./modules/multimedia/AudioRecorder/AudioRecorder.js";
2
2
  import { default as default3 } from "./modules/multimedia/Embed/Embed.js";
3
- import { default as default4 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
4
- import { default as default5 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
5
- import { default as default6 } from "./modules/multimedia/FileCard/FileCard.js";
3
+ import { default as default4 } from "./modules/multimedia/FileCard/FileCard.js";
4
+ import { default as default5 } from "./modules/multimedia/ImageEditor/components/ImageEditor.js";
5
+ import { default as default6 } from "./modules/multimedia/ImagePicker/ImagePicker.js";
6
6
  import { default as default7 } from "./modules/multimedia/MediaLibrary/MediaLibrary.js";
7
- import { default as default8 } from "./modules/multimedia/UploadFiles/UploadFiles.js";
8
- import { default as default9 } from "./modules/multimedia/UploadCard/UploadCard.js";
7
+ import { default as default8 } from "./modules/multimedia/UploadCard/UploadCard.js";
8
+ import { default as default9 } from "./modules/multimedia/UploadFiles/UploadFiles.js";
9
9
  import { default as default10 } from "./modules/multimedia/VideoEmbed/VideoEmbed.js";
10
10
  import { default as default11 } from "./modules/multimedia/VideoRecorder/VideoRecorder.js";
11
11
  import { default as default12 } from "./modules/multimedia/Workspace/Workspace.js";
@@ -17,14 +17,14 @@ export {
17
17
  default2 as AudioRecorder,
18
18
  default3 as Embed,
19
19
  ExternalLinker,
20
- default6 as FileCard,
21
- default4 as ImageEditor,
22
- default5 as ImagePicker,
20
+ default4 as FileCard,
21
+ default5 as ImageEditor,
22
+ default6 as ImagePicker,
23
23
  InternalLinker,
24
24
  default7 as MediaLibrary,
25
25
  Upload,
26
- default9 as UploadCard,
27
- default8 as UploadFiles,
26
+ default8 as UploadCard,
27
+ default9 as UploadFiles,
28
28
  default10 as VideoEmbed,
29
29
  default11 as VideoRecorder,
30
30
  default12 as Workspace,
@@ -5,6 +5,5 @@ const antTheme = {
5
5
  hashed: !1
6
6
  };
7
7
  export {
8
- antTheme,
9
- antTheme as default
8
+ antTheme
10
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.5.5-develop-b2school.20260121153342",
3
+ "version": "2.5.5-develop-pedago.20260122175445",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -134,9 +134,10 @@
134
134
  "react-slugify": "^3.0.3",
135
135
  "swiper": "^10.1.0",
136
136
  "ua-parser-js": "^1.0.36",
137
- "@edifice.io/bootstrap": "2.5.5-develop-b2school.20260121153342",
138
- "@edifice.io/tiptap-extensions": "2.5.5-develop-b2school.20260121153342",
139
- "@edifice.io/utilities": "2.5.5-develop-b2school.20260121153342"
137
+ "react-pdf": "10.2.0",
138
+ "@edifice.io/bootstrap": "2.5.5-develop-pedago.20260122175445",
139
+ "@edifice.io/tiptap-extensions": "2.5.5-develop-pedago.20260122175445",
140
+ "@edifice.io/utilities": "2.5.5-develop-pedago.20260122175445"
140
141
  },
141
142
  "devDependencies": {
142
143
  "@babel/plugin-transform-react-pure-annotations": "^7.23.3",
@@ -167,8 +168,8 @@
167
168
  "vite": "^5.4.11",
168
169
  "vite-plugin-dts": "^4.1.0",
169
170
  "vite-tsconfig-paths": "^5.0.1",
170
- "@edifice.io/client": "2.5.5-develop-b2school.20260121153342",
171
- "@edifice.io/config": "2.5.5-develop-b2school.20260121153342"
171
+ "@edifice.io/client": "2.5.5-develop-pedago.20260122175445",
172
+ "@edifice.io/config": "2.5.5-develop-pedago.20260122175445"
172
173
  },
173
174
  "peerDependencies": {
174
175
  "@react-spring/web": "^9.7.5",
@@ -1,57 +0,0 @@
1
- /**
2
- * DatePicker component props
3
- *
4
- * Minimal interface that only exposes what is necessary.
5
- * Ant Design implementation is hidden and no Ant Design-specific props are exposed.
6
- * Standard HTML div attributes are supported (passed through to the underlying DOM element).
7
- */
8
- export interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'value' | 'defaultValue'> {
9
- /**
10
- * Selected date values
11
- * @default today's date is setted by ant design if no value is provided
12
- */
13
- value?: Date;
14
- /**
15
- * Callback called when date changes
16
- */
17
- onChange?: (date?: Date) => void;
18
- /**
19
- * Date format to display in the picker
20
- * @default 'DD / MM / YYYY'
21
- */
22
- dateFormat?: string;
23
- /**
24
- * Minimum selectable date
25
- */
26
- minDate?: Date;
27
- /**
28
- * Maximum selectable date
29
- */
30
- maxDate?: Date;
31
- }
32
- /**
33
- * Type for DatePicker ref
34
- */
35
- /**
36
- * DatePicker component
37
- *
38
- * Date picker component for selecting a date.
39
- *
40
- * **Note:** This component uses Ant Design's DatePicker component internally.
41
- * Only the props defined in DatePickerProps are allowed to prevent
42
- * dependency on Ant Design-specific features. To replace the implementation,
43
- * modify the component body below.
44
- *
45
- * @example
46
- * ```tsx
47
- * <DatePicker
48
- * value={date}
49
- * onChange={(date) => setDate(date)}
50
- * dateFormat="YYYY-MM-DD"
51
- * minDate={new Date(today.setDate(today.getDate() - 2))}
52
- * maxDate={new Date(today.setDate(today.getDate() + 3))}
53
- * />
54
- * ```
55
- */
56
- declare const DatePicker: import('react').ForwardRefExoticComponent<DatePickerProps & import('react').RefAttributes<HTMLElement>>;
57
- export default DatePicker;