@edifice.io/react 2.0.5 → 2.1.0-develop-b2school.20250204153130
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.
- package/dist/components/AppIcon/AppIcon.js +1 -1
- package/dist/components/Attachment/Attachment.js +1 -1
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/Dropdown/DropdownTrigger.js +5 -1
- package/dist/components/Form/FormContext.js +1 -1
- package/dist/components/Form/FormControl.js +1 -1
- package/dist/components/Layout/components/Header.js +4 -3
- package/dist/components/Layout/components/WidgetApps.js +1 -1
- package/dist/components/List/List.d.ts +9 -1
- package/dist/components/List/List.js +9 -9
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/SearchBar/SearchBar.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.js +3 -1
- package/dist/hooks/useCheckable/useCheckable.js +1 -1
- package/dist/hooks/useConversation/useConversation.d.ts +1 -1
- package/dist/hooks/useConversation/useConversation.js +13 -17
- package/dist/hooks/useDropdown/useDropdown.js +1 -1
- package/dist/hooks/useDropzone/useDropzone.js +1 -1
- package/dist/hooks/useTrapFocus/useTrapFocus.d.ts +1 -1
- package/dist/hooks/useTrapFocus/useTrapFocus.js +3 -2
- package/dist/hooks/useUploadFiles/useUploadFiles.js +1 -1
- package/dist/icons-apps.js +220 -218
- package/dist/icons.js +116 -112
- package/dist/index.js +106 -106
- package/dist/modules/audience/ReactionModal.Card.js +1 -1
- package/dist/modules/comments/components/Comment.js +10 -7
- package/dist/modules/comments/components/CommentAvatar.js +1 -1
- package/dist/modules/comments/components/DeleteModal.d.ts +7 -0
- package/dist/modules/comments/components/DeleteModal.js +19 -0
- package/dist/modules/comments/context/Context.d.ts +2 -0
- package/dist/modules/comments/hooks/useComments.d.ts +1 -1
- package/dist/modules/comments/hooks/useComments.js +1 -1
- package/dist/modules/comments/hooks/useCommentsContext.d.ts +1 -0
- package/dist/modules/comments/provider/CommentProvider.js +3 -2
- package/dist/modules/comments/types.d.ts +5 -1
- package/dist/modules/editor/components/Editor/Editor.js +1 -1
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +12 -7
- package/dist/modules/editor/components/Renderer/AudioRenderer.js +4 -1
- package/dist/modules/editor/components/Renderer/LinkerRenderer.js +1 -1
- package/dist/modules/editor/hooks/useCommentEditor.d.ts +1 -1
- package/dist/modules/editor/hooks/useTipTapEditor.d.ts +1 -1
- package/dist/modules/editor/hooks/useTipTapEditor.js +4 -4
- package/dist/modules/icons/components/IconReadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconReadMail.js +16 -0
- package/dist/modules/icons/components/IconUnreadMail.d.ts +7 -0
- package/dist/modules/icons/components/IconUnreadMail.js +16 -0
- package/dist/modules/icons/components/apps/IconAppointments.d.ts +7 -0
- package/dist/modules/icons/components/apps/IconAppointments.js +12 -0
- package/dist/modules/icons/components/apps/index.d.ts +1 -0
- package/dist/modules/icons/components/index.d.ts +2 -0
- package/dist/modules/multimedia/UploadCard/UploadCard.js +2 -2
- package/dist/providers/MockedProvider/MockedProvider.js +1 -1
- package/package.json +30 -30
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RightRole } from '@edifice.io/client';
|
|
1
2
|
import { CommentOptions, CommentProps, CommentType, UserProfileResult } from '../types';
|
|
2
3
|
export declare const CommentContext: import('react').Context<{
|
|
3
4
|
comments: CommentProps[] | undefined;
|
|
@@ -6,6 +7,7 @@ export declare const CommentContext: import('react').Context<{
|
|
|
6
7
|
profiles: (UserProfileResult | undefined)[];
|
|
7
8
|
options: Partial<CommentOptions>;
|
|
8
9
|
type: CommentType;
|
|
10
|
+
userRights?: Record<RightRole, boolean>;
|
|
9
11
|
setEditCommentId: (value: string | null) => void;
|
|
10
12
|
handleModifyComment: (commentId: string) => void;
|
|
11
13
|
handleChangeContent: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
@@ -27,6 +27,6 @@ export declare const useComments: ({ defaultComments, options, type, callbacks,
|
|
|
27
27
|
handleDeleteComment: (id: string) => void;
|
|
28
28
|
handleCreateComment: (content: string) => void;
|
|
29
29
|
handleModifyComment: (commentId: string) => void;
|
|
30
|
-
handleUpdateComment: (comment: string) => void
|
|
30
|
+
handleUpdateComment: (comment: string) => Promise<void>;
|
|
31
31
|
handleReset: () => void;
|
|
32
32
|
};
|
|
@@ -50,7 +50,7 @@ const useComments = ({
|
|
|
50
50
|
handleModifyComment: (commentId) => {
|
|
51
51
|
setEditCommentId(commentId);
|
|
52
52
|
},
|
|
53
|
-
handleUpdateComment: (comment) => {
|
|
53
|
+
handleUpdateComment: async (comment) => {
|
|
54
54
|
editCommentId && (type === "edit" && (callbacks == null || callbacks.put({
|
|
55
55
|
comment,
|
|
56
56
|
commentId: editCommentId
|
|
@@ -5,6 +5,7 @@ export declare const useCommentsContext: () => {
|
|
|
5
5
|
profiles: (import('../types').UserProfileResult | undefined)[];
|
|
6
6
|
options: Partial<import('../types').CommentOptions>;
|
|
7
7
|
type: import('../types').CommentType;
|
|
8
|
+
userRights?: Record<import('@edifice.io/client').RightRole, boolean>;
|
|
8
9
|
setEditCommentId: (value: string | null) => void;
|
|
9
10
|
handleModifyComment: (commentId: string) => void;
|
|
10
11
|
handleChangeContent: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
@@ -3,7 +3,7 @@ import { useMemo } from "react";
|
|
|
3
3
|
import { CommentForm } from "../components/CommentForm.js";
|
|
4
4
|
import { CommentHeader } from "../components/CommentHeader.js";
|
|
5
5
|
import { CommentList } from "../components/CommentList.js";
|
|
6
|
-
import {
|
|
6
|
+
import { DEFAULT_MAX_REPLIES, DEFAULT_ADD_COMMENTS, DEFAULT_MAX_COMMENTS, DEFAULT_MAX_REPLY_LENGTH, DEFAULT_MAX_COMMENT_LENGTH } from "../constants.js";
|
|
7
7
|
import { CommentContext } from "../context/Context.js";
|
|
8
8
|
import { useComments } from "../hooks/useComments.js";
|
|
9
9
|
import Button from "../../../components/Button/Button.js";
|
|
@@ -46,7 +46,7 @@ const CommentProvider = ({
|
|
|
46
46
|
defaultComments,
|
|
47
47
|
callbacks: type == "edit" ? props.callbacks : null,
|
|
48
48
|
options
|
|
49
|
-
}), values = useMemo(
|
|
49
|
+
}), userRights = type === "edit" ? props.rights : void 0, values = useMemo(
|
|
50
50
|
() => ({
|
|
51
51
|
comments,
|
|
52
52
|
content,
|
|
@@ -54,6 +54,7 @@ const CommentProvider = ({
|
|
|
54
54
|
editCommentId,
|
|
55
55
|
options,
|
|
56
56
|
type,
|
|
57
|
+
userRights,
|
|
57
58
|
setEditCommentId,
|
|
58
59
|
handleCreateComment,
|
|
59
60
|
handleModifyComment,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UserProfile } from '@edifice.io/client';
|
|
1
|
+
import { RightRole, UserProfile } from '@edifice.io/client';
|
|
2
2
|
export interface CommentProps {
|
|
3
3
|
/**
|
|
4
4
|
* Comment Id
|
|
@@ -61,6 +61,10 @@ interface EditRootProps extends BaseProps {
|
|
|
61
61
|
* Callbacks to perform CRUD on comment
|
|
62
62
|
*/
|
|
63
63
|
callbacks: CommentCallbacks;
|
|
64
|
+
/**
|
|
65
|
+
* Rights to perform CRUD on comment
|
|
66
|
+
*/
|
|
67
|
+
rights?: Record<RightRole, boolean>;
|
|
64
68
|
}
|
|
65
69
|
interface ReadRootProps extends BaseProps {
|
|
66
70
|
type: 'read';
|
|
@@ -15,8 +15,8 @@ import { EditorToolbar } from "../EditorToolbar/EditorToolbar.js";
|
|
|
15
15
|
import LinkToolbar from "../Toolbar/LinkToolbar.js";
|
|
16
16
|
import TableToolbar from "../Toolbar/TableToolbar.js";
|
|
17
17
|
import BubbleMenuEditImage from "../BubbleMenuEditImage/BubbleMenuEditImage.js";
|
|
18
|
-
import LoadingScreen from "../../../../components/LoadingScreen/LoadingScreen.js";
|
|
19
18
|
import MediaLibrary from "../../../multimedia/MediaLibrary/MediaLibrary.js";
|
|
19
|
+
import LoadingScreen from "../../../../components/LoadingScreen/LoadingScreen.js";
|
|
20
20
|
const MathsModal = /* @__PURE__ */ lazy(async () => await import("../MathsModal/MathsModal.js")), ImageEditor = /* @__PURE__ */ lazy(async () => await import("../../../multimedia/ImageEditor/components/ImageEditor.js")), Editor = /* @__PURE__ */ forwardRef(({
|
|
21
21
|
id,
|
|
22
22
|
content,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from "react";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
3
|
import { NodeViewWrapper } from "@tiptap/react";
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import SvgIconDelete from "../../../icons/components/IconDelete.js";
|
|
@@ -10,15 +10,20 @@ import { useEditorContext } from "../../hooks/useEditorContext.js";
|
|
|
10
10
|
import { Grid } from "../../../../components/Grid/Grid.js";
|
|
11
11
|
const AttachmentRenderer = (props) => {
|
|
12
12
|
const {
|
|
13
|
+
node,
|
|
14
|
+
editor
|
|
15
|
+
} = props, [attachmentArrayAttrs, setAttachmentArrayAttrs] = useState(node.attrs.links), {
|
|
13
16
|
t
|
|
14
17
|
} = useTranslation(), {
|
|
15
|
-
node
|
|
16
|
-
} = props, {
|
|
17
18
|
editable
|
|
18
|
-
} = useEditorContext()
|
|
19
|
-
|
|
19
|
+
} = useEditorContext();
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
attachmentArrayAttrs !== node.attrs.links && setAttachmentArrayAttrs(node.attrs.links);
|
|
22
|
+
}, [node.attrs.links, attachmentArrayAttrs]);
|
|
23
|
+
const handleDelete = (index, documentId) => {
|
|
24
|
+
editor.commands.unsetAttachment(documentId), setAttachmentArrayAttrs((oldAttachments) => oldAttachments.filter((_, i) => i !== index));
|
|
20
25
|
};
|
|
21
|
-
return attachmentArrayAttrs.length !== 0 && /* @__PURE__ */ jsx(NodeViewWrapper, { children: /* @__PURE__ */ jsxs("div", { style: {
|
|
26
|
+
return (attachmentArrayAttrs == null ? void 0 : attachmentArrayAttrs.length) !== 0 && /* @__PURE__ */ jsx(NodeViewWrapper, { children: /* @__PURE__ */ jsxs("div", { style: {
|
|
22
27
|
backgroundColor: "#F2F2F2",
|
|
23
28
|
borderRadius: ".8rem",
|
|
24
29
|
padding: "1.2rem"
|
|
@@ -26,7 +31,7 @@ const AttachmentRenderer = (props) => {
|
|
|
26
31
|
/* @__PURE__ */ jsx("p", { className: "m-12 mt-0", children: t("tiptap.attachments.bloc") }),
|
|
27
32
|
/* @__PURE__ */ jsx(Grid, { children: attachmentArrayAttrs == null ? void 0 : attachmentArrayAttrs.map((attachment, index) => /* @__PURE__ */ jsx(Grid.Col, { sm: "6", children: /* @__PURE__ */ jsx(Attachment, { name: attachment.name, options: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28
33
|
/* @__PURE__ */ jsx("a", { href: attachment.href, download: !0, children: /* @__PURE__ */ jsx(IconButton, { "aria-label": t("tiptap.attachments.download"), color: "tertiary", type: "button", icon: /* @__PURE__ */ jsx(SvgIconDownload, {}), variant: "ghost" }) }),
|
|
29
|
-
editable && /* @__PURE__ */ jsx(IconButton, { "aria-label": t("tiptap.attachments.delete"), color: "danger", type: "button", icon: /* @__PURE__ */ jsx(SvgIconDelete, {}), variant: "ghost", onClick: () => handleDelete(index) })
|
|
34
|
+
editable && /* @__PURE__ */ jsx(IconButton, { "aria-label": t("tiptap.attachments.delete"), color: "danger", type: "button", icon: /* @__PURE__ */ jsx(SvgIconDelete, {}), variant: "ghost", onClick: () => handleDelete(index, attachment.documentId) })
|
|
30
35
|
] }) }) }, index)) })
|
|
31
36
|
] }) });
|
|
32
37
|
};
|
|
@@ -4,7 +4,10 @@ const AudioRenderer = (props) => {
|
|
|
4
4
|
const {
|
|
5
5
|
node
|
|
6
6
|
} = props;
|
|
7
|
-
return /* @__PURE__ */ jsx(NodeViewWrapper, {
|
|
7
|
+
return /* @__PURE__ */ jsx(NodeViewWrapper, { style: {
|
|
8
|
+
display: "inline-block",
|
|
9
|
+
width: "fit-content"
|
|
10
|
+
}, children: /* @__PURE__ */ jsx("div", { className: "audio-wrapper", "data-drag-handle": !0, children: /* @__PURE__ */ jsx("audio", { src: node.attrs.src, controls: !0, "data-document-id": node.attrs.src, children: /* @__PURE__ */ jsx("track", { kind: "captions" }) }) }) });
|
|
8
11
|
};
|
|
9
12
|
export {
|
|
10
13
|
AudioRenderer as default
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { NodeViewWrapper } from "@tiptap/react";
|
|
3
3
|
import clsx from "clsx";
|
|
4
|
+
import useEdificeIcons from "../../../../hooks/useEdificeIcons/useEdificeIcons.js";
|
|
4
5
|
import Badge from "../../../../components/Badge/Badge.js";
|
|
5
6
|
import AppIcon from "../../../../components/AppIcon/AppIcon.js";
|
|
6
|
-
import useEdificeIcons from "../../../../hooks/useEdificeIcons/useEdificeIcons.js";
|
|
7
7
|
const LinkerRenderer = ({
|
|
8
8
|
selected,
|
|
9
9
|
...props
|
|
@@ -6,7 +6,7 @@ import { Content, HTMLContent } from '@tiptap/react';
|
|
|
6
6
|
* @param content default rich content
|
|
7
7
|
*/
|
|
8
8
|
export declare const useCommentEditor: (editable: boolean, content: Content, maxLength?: number) => {
|
|
9
|
-
editor: import('@tiptap/
|
|
9
|
+
editor: import('@tiptap/core').Editor | null;
|
|
10
10
|
commentLength: number;
|
|
11
11
|
getComment: () => HTMLContent;
|
|
12
12
|
resetComment: () => void;
|
|
@@ -11,6 +11,6 @@ import { WorkspaceVisibility } from '@edifice.io/client';
|
|
|
11
11
|
export declare const useTipTapEditor: (editable: boolean, content: Content, focus?: FocusPosition, placeholder?: string, onContentChange?: ({ editor }: {
|
|
12
12
|
editor: any;
|
|
13
13
|
}) => void, visibility?: WorkspaceVisibility) => {
|
|
14
|
-
editor: import('@tiptap/
|
|
14
|
+
editor: import('@tiptap/core').Editor | null;
|
|
15
15
|
editable: boolean;
|
|
16
16
|
};
|
|
@@ -28,13 +28,13 @@ import { useTranslation } from "react-i18next";
|
|
|
28
28
|
import { useEdificeClient } from "../../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
|
|
29
29
|
import useUpload from "../../../hooks/useUpload/useUpload.js";
|
|
30
30
|
import VideoNodeView from "../components/NodeView/VideoNodeView.js";
|
|
31
|
-
import MediaRenderer from "../components/Renderer/MediaRenderer.js";
|
|
32
31
|
import AudioNodeView from "../components/NodeView/AudioNodeView.js";
|
|
33
|
-
import AudioRenderer from "../components/Renderer/AudioRenderer.js";
|
|
34
32
|
import LinkerNodeView from "../components/NodeView/LinkerNodeView.js";
|
|
35
|
-
import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
|
|
36
33
|
import ImageNodeView from "../components/NodeView/ImageNodeView.js";
|
|
37
34
|
import AttachmentNodeView from "../components/NodeView/AttachmentNodeView.js";
|
|
35
|
+
import MediaRenderer from "../components/Renderer/MediaRenderer.js";
|
|
36
|
+
import AudioRenderer from "../components/Renderer/AudioRenderer.js";
|
|
37
|
+
import LinkerRenderer from "../components/Renderer/LinkerRenderer.js";
|
|
38
38
|
import AttachmentRenderer from "../components/Renderer/AttachmentRenderer.js";
|
|
39
39
|
const useTipTapEditor = (editable, content, focus, placeholder, onContentChange, visibility = "protected") => {
|
|
40
40
|
const {
|
|
@@ -58,7 +58,7 @@ const useTipTapEditor = (editable, content, focus, placeholder, onContentChange,
|
|
|
58
58
|
}), Underline, TextStyle, Color, Subscript, Superscript, Table.configure({
|
|
59
59
|
resizable: !0
|
|
60
60
|
}), TableRow, TableHeader, TableCell, TextAlign.configure({
|
|
61
|
-
types: ["heading", "paragraph", "
|
|
61
|
+
types: ["heading", "paragraph", "video"]
|
|
62
62
|
}), CustomHeading.configure({
|
|
63
63
|
levels: [1, 2]
|
|
64
64
|
}), Typography, FontSize, SpeechRecognition, SpeechSynthesis.configure({
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconReadMail: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconReadMail;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconReadMail = ({
|
|
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__ */ jsxs("g", { fill: "currentColor", fillRule: "evenodd", clipPath: "url(#icon-read-mail_svg__a)", clipRule: "evenodd", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { d: "M1.143 8.986a1 1 0 0 1 1.372-.343l8.97 5.382a1 1 0 0 0 1.03 0l8.97-5.382a1 1 0 1 1 1.03 1.714l-8.971 5.383a3 3 0 0 1-3.088 0l-8.97-5.382a1 1 0 0 1-.343-1.373" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { d: "M12.466 2.4a.95.95 0 0 0-.932 0c-1.333.74-3.83 2.146-5.99 3.465-1.083.662-2.063 1.29-2.764 1.797a8 8 0 0 0-.78.62v11.003H0V8c0-.38.191-.664.272-.776.107-.148.238-.285.364-.404.254-.24.594-.506.973-.78.765-.552 1.797-1.212 2.892-1.881C6.697 2.817 9.224 1.395 10.563.65a2.95 2.95 0 0 1 2.874 0c1.34.744 3.866 2.166 6.062 3.508 1.095.669 2.127 1.33 2.892 1.882.38.273.719.54.973.78.126.118.257.255.364.403.08.112.272.395.272.776v11.285h-2V8.284l-.009-.008a8 8 0 0 0-.77-.613c-.702-.506-1.682-1.135-2.765-1.797-2.16-1.32-4.657-2.725-5.99-3.466M2.321 19.802c.253.192.647.34 1.123.34h17.112c.476 0 .87-.148 1.123-.34.252-.192.321-.384.321-.517h2c0 .892-.479 1.629-1.111 2.11-.632.479-1.46.747-2.333.747H3.444c-.873 0-1.701-.268-2.333-.748S0 20.178 0 19.285h2c0 .133.069.326.32.518" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-read-mail_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
|
|
13
|
+
] });
|
|
14
|
+
export {
|
|
15
|
+
SvgIconReadMail as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconUnreadMail: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconUnreadMail;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconUnreadMail = ({
|
|
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__ */ jsxs("g", { fill: "currentColor", fillRule: "evenodd", clipPath: "url(#icon-unread-mail_svg__a)", clipRule: "evenodd", children: [
|
|
9
|
+
/* @__PURE__ */ jsx("path", { d: "M7.975 4.5a5.1 5.1 0 0 0-.204-2h12.785A3.437 3.437 0 0 1 24 5.948V18.07c0 1.9-1.548 3.429-3.444 3.429H3.444A3.437 3.437 0 0 1 0 18.071V8.001c.581.436 1.261.749 2 .899v9.171c0 .783.64 1.429 1.444 1.429h17.112c.803 0 1.444-.646 1.444-1.429V7.79l-9.448 6.257a1 1 0 0 1-1.104 0L3.744 8.945a5 5 0 0 0 2.228-.924L12 12.014l9.916-6.567c-.2-.55-.73-.947-1.36-.947z" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { d: "M3 7a3 3 0 1 0 0-6 3 3 0 0 0 0 6" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", { id: "icon-unread-mail_svg__a", children: /* @__PURE__ */ jsx("path", { fill: "#fff", d: "M0 0h24v24H0z" }) }) })
|
|
13
|
+
] });
|
|
14
|
+
export {
|
|
15
|
+
SvgIconUnreadMail as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
interface SVGRProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
titleId?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const SvgIconAppointments: ({ title, titleId, ...props }: SVGProps<SVGSVGElement> & SVGRProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SvgIconAppointments;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
const SvgIconAppointments = ({
|
|
3
|
+
title,
|
|
4
|
+
titleId,
|
|
5
|
+
...props
|
|
6
|
+
}) => /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "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: "M18.616 5.414v-4.11c0-.72-.575-1.304-1.285-1.304s-1.286.584-1.286 1.304v4.11c0 .72.575 1.304 1.285 1.304s1.286-.583 1.286-1.304m-9.99-2.597V5.23c0 1.194-.947 2.156-2.124 2.156s-2.126-.962-2.126-2.156V2.817h-1.57C1.25 2.817 0 4.087 0 5.663v15.491C0 22.731 1.251 24 2.805 24h18.39C22.749 24 24 22.73 24 21.154V5.663c0-1.577-1.251-2.846-2.805-2.846h-1.81V5.23c0 1.194-.949 2.155-2.126 2.155s-2.125-.961-2.125-2.155V2.817zm3.048 6.83q.071 0 .141.006c.374.025.737.13 1.06.288 1.29.631 2.232 1.986 2.259 3.507.016.934-.515 1.722-1.153 2.159-.627.43-1.349.626-2.042.75.395.369.78.807 1.104 1.328.309.497.553.698.648.766l.004-.008.027-.035c.222-.268.477-1.095.477-1.095a.88.88 0 0 1 .386-.546.856.856 0 0 1 1.19.282.89.89 0 0 1 .108.662s-.166 1.013-.838 1.824c-.336.406-.997.824-1.71.653-.714-.17-1.227-.716-1.756-1.569-.441-.711-1.109-1.251-1.667-1.615.004.043.002.097 0 .15-.002.057-.004.114.001.158.144 1.131.438 1.678.438 1.678a.9.9 0 0 1 .06.668.87.87 0 0 1-.746.614.85.85 0 0 1-.633-.2.9.9 0 0 1-.212-.266s-.446-.882-.622-2.27-.113-3.353.783-5.676c.38-.987.964-1.69 1.704-2.015.324-.143.66-.202.99-.198m-.05 1.748a.7.7 0 0 0-.252.06c-.216.095-.513.348-.781 1.044-.318.825-.447 1.535-.557 2.223q.105.002.207.006c.36.014.726.027 1.368-.086.566-.1 1.098-.28 1.404-.489.306-.21.397-.332.391-.674-.012-.687-.662-1.656-1.28-1.957-.192-.094-.353-.134-.5-.127M7.817 1.305v4.11c0 .72-.576 1.303-1.286 1.303s-1.286-.583-1.286-1.304v-4.11C5.245.584 5.821 0 6.531 0s1.286.584 1.286 1.304" })
|
|
9
|
+
] });
|
|
10
|
+
export {
|
|
11
|
+
SvgIconAppointments as default
|
|
12
|
+
};
|
|
@@ -4,6 +4,7 @@ export { default as IconAdminPortal } from './IconAdminPortal';
|
|
|
4
4
|
export { default as IconAdmin } from './IconAdmin';
|
|
5
5
|
export { default as IconAdmissionPostBac } from './IconAdmissionPostBac';
|
|
6
6
|
export { default as IconAgenda } from './IconAgenda';
|
|
7
|
+
export { default as IconAppointments } from './IconAppointments';
|
|
7
8
|
export { default as IconArchive } from './IconArchive';
|
|
8
9
|
export { default as IconAssistance } from './IconAssistance';
|
|
9
10
|
export { default as IconAssr } from './IconAssr';
|
|
@@ -91,6 +91,7 @@ export { default as IconRafterLeft } from './IconRafterLeft';
|
|
|
91
91
|
export { default as IconRafterRight } from './IconRafterRight';
|
|
92
92
|
export { default as IconRafterUp } from './IconRafterUp';
|
|
93
93
|
export { default as IconReaction } from './IconReaction';
|
|
94
|
+
export { default as IconReadMail } from './IconReadMail';
|
|
94
95
|
export { default as IconRecordPause } from './IconRecordPause';
|
|
95
96
|
export { default as IconRecordStop } from './IconRecordStop';
|
|
96
97
|
export { default as IconRecordVideo } from './IconRecordVideo';
|
|
@@ -136,6 +137,7 @@ export { default as IconTrendingUp } from './IconTrendingUp';
|
|
|
136
137
|
export { default as IconUndo } from './IconUndo';
|
|
137
138
|
export { default as IconUnlink } from './IconUnlink';
|
|
138
139
|
export { default as IconUnlock } from './IconUnlock';
|
|
140
|
+
export { default as IconUnreadMail } from './IconUnreadMail';
|
|
139
141
|
export { default as IconUpload } from './IconUpload';
|
|
140
142
|
export { default as IconUserSearch } from './IconUserSearch';
|
|
141
143
|
export { default as IconUser } from './IconUser';
|
|
@@ -5,12 +5,12 @@ import SvgIconClose from "../../icons/components/IconClose.js";
|
|
|
5
5
|
import SvgIconReset from "../../icons/components/IconReset.js";
|
|
6
6
|
import SvgIconSuccessOutline from "../../icons/components/IconSuccessOutline.js";
|
|
7
7
|
import SvgIconWand from "../../icons/components/IconWand.js";
|
|
8
|
-
import Button from "../../../components/Button/Button.js";
|
|
9
|
-
import Image from "../../../components/Image/Image.js";
|
|
10
8
|
import Tooltip from "../../../components/Tooltip/Tooltip.js";
|
|
11
9
|
import Loading from "../../../components/Loading/Loading.js";
|
|
10
|
+
import Button from "../../../components/Button/Button.js";
|
|
12
11
|
import Card from "../../../components/Card/Card.js";
|
|
13
12
|
import IconButton from "../../../components/Button/IconButton.js";
|
|
13
|
+
import Image from "../../../components/Image/Image.js";
|
|
14
14
|
const UploadCard = ({
|
|
15
15
|
item,
|
|
16
16
|
status = "idle",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { QueryClientProvider, QueryClient } from "@tanstack/react-query";
|
|
3
3
|
import { EdificeClientProvider } from "../EdificeClientProvider/EdificeClientProvider.js";
|
|
4
4
|
import { EdificeThemeContext } from "../EdificeThemeProvider/EdificeThemeProvider.context.js";
|
|
5
5
|
const queryClient = new QueryClient(), Providers = ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@edifice.io/react",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-develop-b2school.20250204153130",
|
|
4
4
|
"description": "Edifice React Library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -80,30 +80,30 @@
|
|
|
80
80
|
"@pixi/mixin-get-child-by-name": "7.4.2",
|
|
81
81
|
"@pixi/react": "7.1.2",
|
|
82
82
|
"@popperjs/core": "2.11.8",
|
|
83
|
-
"@tiptap/core": "2.
|
|
84
|
-
"@tiptap/extension-character-count": "2.
|
|
85
|
-
"@tiptap/extension-color": "2.
|
|
86
|
-
"@tiptap/extension-focus": "2.
|
|
87
|
-
"@tiptap/extension-font-family": "2.
|
|
88
|
-
"@tiptap/extension-heading": "2.
|
|
89
|
-
"@tiptap/extension-highlight": "2.
|
|
90
|
-
"@tiptap/extension-image": "2.
|
|
91
|
-
"@tiptap/extension-link": "2.
|
|
92
|
-
"@tiptap/extension-list-item": "2.
|
|
93
|
-
"@tiptap/extension-placeholder": "2.
|
|
94
|
-
"@tiptap/extension-subscript": "2.
|
|
95
|
-
"@tiptap/extension-superscript": "2.
|
|
96
|
-
"@tiptap/extension-table": "2.
|
|
97
|
-
"@tiptap/extension-table-cell": "2.
|
|
98
|
-
"@tiptap/extension-table-header": "2.
|
|
99
|
-
"@tiptap/extension-table-row": "2.
|
|
100
|
-
"@tiptap/extension-text-align": "2.
|
|
101
|
-
"@tiptap/extension-text-style": "2.
|
|
102
|
-
"@tiptap/extension-typography": "2.
|
|
103
|
-
"@tiptap/extension-underline": "2.
|
|
104
|
-
"@tiptap/pm": "2.
|
|
105
|
-
"@tiptap/react": "2.
|
|
106
|
-
"@tiptap/starter-kit": "2.
|
|
83
|
+
"@tiptap/core": "2.11.0",
|
|
84
|
+
"@tiptap/extension-character-count": "2.11.0",
|
|
85
|
+
"@tiptap/extension-color": "2.11.0",
|
|
86
|
+
"@tiptap/extension-focus": "2.11.0",
|
|
87
|
+
"@tiptap/extension-font-family": "2.11.0",
|
|
88
|
+
"@tiptap/extension-heading": "2.11.0",
|
|
89
|
+
"@tiptap/extension-highlight": "2.11.0",
|
|
90
|
+
"@tiptap/extension-image": "2.11.0",
|
|
91
|
+
"@tiptap/extension-link": "2.11.0",
|
|
92
|
+
"@tiptap/extension-list-item": "2.11.0",
|
|
93
|
+
"@tiptap/extension-placeholder": "2.11.0",
|
|
94
|
+
"@tiptap/extension-subscript": "2.11.0",
|
|
95
|
+
"@tiptap/extension-superscript": "2.11.0",
|
|
96
|
+
"@tiptap/extension-table": "2.11.0",
|
|
97
|
+
"@tiptap/extension-table-cell": "2.11.0",
|
|
98
|
+
"@tiptap/extension-table-header": "2.11.0",
|
|
99
|
+
"@tiptap/extension-table-row": "2.11.0",
|
|
100
|
+
"@tiptap/extension-text-align": "2.11.0",
|
|
101
|
+
"@tiptap/extension-text-style": "2.11.0",
|
|
102
|
+
"@tiptap/extension-typography": "2.11.0",
|
|
103
|
+
"@tiptap/extension-underline": "2.11.0",
|
|
104
|
+
"@tiptap/pm": "2.11.0",
|
|
105
|
+
"@tiptap/react": "2.11.0",
|
|
106
|
+
"@tiptap/starter-kit": "2.11.0",
|
|
107
107
|
"@uidotdev/usehooks": "^2.4.1",
|
|
108
108
|
"clsx": "^2.1.1",
|
|
109
109
|
"dayjs": "1.11.10",
|
|
@@ -118,9 +118,9 @@
|
|
|
118
118
|
"react-slugify": "^3.0.3",
|
|
119
119
|
"swiper": "^10.1.0",
|
|
120
120
|
"ua-parser-js": "^1.0.36",
|
|
121
|
-
"@edifice.io/bootstrap": "2.0.
|
|
122
|
-
"@edifice.io/tiptap-extensions": "2.0.
|
|
123
|
-
"@edifice.io/utilities": "2.0.
|
|
121
|
+
"@edifice.io/bootstrap": "2.1.0-develop-b2school.20250204153130",
|
|
122
|
+
"@edifice.io/tiptap-extensions": "2.1.0-develop-b2school.20250204153130",
|
|
123
|
+
"@edifice.io/utilities": "2.1.0-develop-b2school.20250204153130"
|
|
124
124
|
},
|
|
125
125
|
"devDependencies": {
|
|
126
126
|
"@babel/plugin-transform-react-pure-annotations": "^7.23.3",
|
|
@@ -148,8 +148,8 @@
|
|
|
148
148
|
"vite": "^5.4.11",
|
|
149
149
|
"vite-plugin-dts": "^4.1.0",
|
|
150
150
|
"vite-tsconfig-paths": "^5.0.1",
|
|
151
|
-
"@edifice.io/client": "2.0.
|
|
152
|
-
"@edifice.io/config": "2.0.
|
|
151
|
+
"@edifice.io/client": "2.1.0-develop-b2school.20250204153130",
|
|
152
|
+
"@edifice.io/config": "2.1.0-develop-b2school.20250204153130"
|
|
153
153
|
},
|
|
154
154
|
"peerDependencies": {
|
|
155
155
|
"@react-spring/web": "^9.7.5",
|